【发布时间】:2018-02-19 20:31:21
【问题描述】:
我正在编写一个宏,它可以打开许多不同的工作簿,从每个工作簿复制数据,然后编译成一个“主”工作簿。在下面的代码示例中,wb2 是我从中复制的工作簿之一,而 wb1 是主工作簿。
lrow3A 是源工作簿中的最后一行数据。 Lrow3 是主工作簿中的最后一行数据。
lrow3A = wb2.Sheets("DCF3").Cells(1048576, 2).End(xlUp).Row
wb2.Sheets("DCF3").Range(Cells(6, 1), Cells(lrow3A, 16)).Copy _
Destination:=wb2.Worksheets("DCF3").Cells(lrow3 + 1, 2)
我在复制行收到“下标超出范围”错误。
【问题讨论】:
-
如果要复制到master,那不应该是Destination:=wb1 吗?
-
您还需要为
Cells()添加工作簿/工作表。我想你需要:wb2.Sheets("DCF3").Range(wb2.Sheets("DCF3").Cells(6, 1), wb2.Sheets("DCF3").Cells(lrow3A, 16)).Copy -
您的
.Range(Cells(6, 1), Cells(lrow3A, 16))缺少正确的父工作表引用。见this。