【发布时间】:2020-06-04 22:18:31
【问题描述】:
以下代码有时有效,但并非总是有效。我看过类似的例子,但我需要以特定的方式工作(将所有工作表从 Master 复制到活动工作簿)。
我正在尝试将工作表从“主”工作簿(“MasterWorkbook.xlsm”电子表格)复制到我的活动工作簿(.xlsx 文件)中。我正在从我的活动工作簿运行宏。我也打开了“主”工作簿。
Sub CopySheetsFromMaster()
Dim ToWorkbook As Workbook
Set ToWorkbook = ActiveWorkbook
Application.EnableEvents = False
Workbooks("MasterWorkbook.xlsm").Worksheets.Copy After:=ToWorkbook.Sheets(ToWorkbook.Sheets.Count)
Application.EnableEvents = True
End Sub
代码在第 5 行“Workbooks("MasterWorkbook.xlsm").Worksheets.Copy...”处停止运行。我收到以下错误消息“运行时错误'9':下标超出范围”。
【问题讨论】:
-
你已经在开头定义了
CopyToWorkbook,但是在第5行你使用了一个叫做ToWorkbook的东西...After:=ToWorkbook.Sheets(ToWorkbook.Sheets.Count) -
感谢您的接听,虽然我在此处复制和粘贴的内容有误,但这不是 Excel 中错误的来源。我现在已经修复了上面的代码 sn-p。