基本上我正在尝试将工作表从一个工作簿复制到另一个工作簿。在这样做时,我得到一个名为下标超出范围的错误。
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
答案 0 :(得分:2)
如果文件已经打开,那么只需执行:
Set wb = Workbooks("Book2.xlsb")
同样,
For each ws in Workbooks("Book1.xlsb").Worksheets
另请注意,您需要在上面的语句中指出.Worksheets
集合。 For each ws in Workbooks("Book1.xlsb")
将无效,即使工作簿包含工作表,也没有这样的隐含迭代,您需要指定要循环的集合。