运行时错误下标超出范围

时间:2015-04-21 14:59:11

标签: excel vba excel-vba

基本上我正在尝试将工作表从一个工作簿复制到另一个工作簿。在这样做时,我得到一个名为下标超出范围的错误。

Sub cp()
Dim ws As Worksheet, wb As Workbook
'Target workbook
Set wb = Workbooks("Desktop:\Book2.xlsb")
'Source workbook
For Each ws In Workbooks("Desktop:\Book1.xlsb")
ws.copy After:=wb.Sheets(wb.Sheets.Count)
Next ws
End Sub

1 个答案:

答案 0 :(得分:2)

如果文件已经打开,那么只需执行:

Set wb = Workbooks("Book2.xlsb")

同样,

For each ws in Workbooks("Book1.xlsb").Worksheets

另请注意,您需要在上面的语句中指出.Worksheets集合。 For each ws in Workbooks("Book1.xlsb")将无效,即使工作簿包含工作表,也没有这样的隐含迭代,您需要指定要循环的集合。