Private Sub CommandButton1_Click()
Dim directory As String, fileName As String, sheet As Worksheet, total As Double
Application.ScreenUpdating = False
Application.DisplayAlerts = False
directory = "c:\test\"
fileName = Dir(directory & "*.xl??")
Do While fileName <> ""
Workbooks.Open (directory & fileName)
For Each sheet In Workbooks(fileName).Worksheets
total = Workbooks("Summary File.xls").Worksheets.Count
Workbooks(fileName).Worksheets(sheet.Name).Copy _
after:=Workbooks("Summary File.xls").Worksheets(total)
Next sheet
Workbooks(fileName).Close
fileName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
0
A
回答
0
我想這是因爲「Summary File.xls」是Excel 97-2003的格式,而你正試圖在其中插入來自具有更多列和行的更新近Excel版本文件的工作表,因此導致錯誤,因此「摘要文件」被關閉並且隨後嘗試引用它(即Workbooks("Summary File.xls")
),拋出「標超出範圍」錯誤
更改您的‘概要文件’到至少2007的Excel版本(從零做起,與除另有企圖將產生一個兼容模式,將仍然拋出的錯誤),然後運行宏
BTW,替代Workbooks(fileName).Worksheets(sheet.Name)
與sheet
您For Each sheet In Workbooks(fileName).Worksheets
循環內
+0
非常感謝,解決了我的問題! –
+0
不客氣。良好的編碼! – user3598756
相關問題
- 1. Django - > queryset [index]索引超出範圍
- 2. Qt QImage-> setPixel超出預期範圍
- 3. 下標超出範圍excel vba
- 4. VBA下標超出範圍
- 5. 下標超出範圍 - Excel.Application.WorksheetFunction.CountA
- 6. 下標超出範圍
- 7. 下標超出範圍 - Excel
- 8. Excel 2010:下標超出範圍錯誤
- 9. 下標超出範圍,VBA
- 10. 超出範圍的下標
- 11. 下標超出範圍
- 12. VBA - 下標超出範圍
- 13. C++超出下標範圍
- 14. make >>/usr/bin/ld:最終連接失敗:數值結果超出範圍
- 15. Database.getConnection()錯誤 - >參數索引超出範圍(1>參數數量,爲0)
- 16. C#中,如何使超載方法共享<summary>標籤
- 17. For Next:下標超出範圍
- 18. 下標超出範圍 - 錯誤#9
- 19. 動畫以下<code>input</code>類型範圍
- 20. 下標超出範圍錯誤9 vba
- 21. 運行時錯誤'9'下標超出範圍 - 複製範圍
- 22. 2to3範圍(...) - >列表(範圍(...))
- 23. <?php echo $ total; ?>問題
- 24. 參數索引超出範圍(1>參數數量,即0)
- 25. 參數索引超出範圍(2>參數數量爲1)
- 26. 的Java rs.getString()錯誤「列索引超出範圍,5> 4」
- 27. C# - >索引超出範圍錯誤|使用列表
- 28. 此錯誤表示java.sql.SQLException:列索引超出範圍,3> 1
- 29. C#列表<>索引超出範圍
- 30. 參數索引超出範圍(2>參數數量,即0)
是 「摘要File.xls」 打開? – Comintern
@Comintern是它是開放的 –
文件名必須是錯誤的,或者它在不同的Excel實例中打開。 – Rory