我正试图将两个工作簿中的两个工作表(均命名为"可交付成果"(整理到第三个工作簿中。
文件名不断变化,因为所有三个工作簿都是根据季度命名的(Q1/2/3/4(
我试着引用";源";工作簿的索引号(分别为2和3,因为"目标"工作簿将首先打开,它是运行宏的位置(,以及在我使用ActiveWorkbook.Sheets后的.copy(分别为1和2(。
接收
运行时错误"9">
错误似乎与第一行代码隔离。当我移除它时,第三行会按它应该的方式运行。
我试图通过按名称而不是索引引用工作簿,并按索引而不是"引用工作表来隔离问题;可交付";。
Workbooks(2).Sheets("Deliverable").Copy After:=Application.ActiveWorkbook.Sheets(1)
ActiveSheet.Name = "Q3 2020"
'
Workbooks(3).Sheets("Deliverable").Copy After:=Application.ActiveWorkbook.Sheets(2)
ActiveSheet.Name = "Q2 2020"
如果代码正在运行,则可以使用ThisWorkbook
,如果可以,则最好避免使用ActiveWorkbook
/ActiveSheet
:
With ThisWorkbook
Workbooks(2).Sheets("Deliverable").Copy After:=.WorkSheets(1)
.WorkSheets(2).Name = "Q3 2020"
Workbooks(3).Sheets("Deliverable").Copy After:=.WorkSheets(2)
.WorkSheets(3).Name = "Q2 2020"
End With