我想将数据从一个工作簿复制到另一个工作簿。
以下行有效:
Workbooks(TempBook.Name).Worksheets(sheet_Index).Range("A1:A20").Copy _
Workbooks(mainWB.Name).Worksheets(sheet_Index).Range("A1")
这会扔
应用定义或对象定义
Workbooks(TempBook.Name).Worksheets(sheet_Index).Range("A1", Range("A1").End(xlDown)).Copy _
Workbooks(mainWB.Name).Worksheets(sheet_Index).Range("A1")
为什么不能选择动态范围?
答案 0 :(得分:5)
Range("A1").End(xlDown)
需要具有工作表和工作簿的限定条件,否则将隐式包含在ActiveSheet
中。Workbooks(TempBook.Name)
应该只是TempBook
。对于Workbooks(mainWB.Name)
同样。xlUp
而不是xlDown
来查找最后一行。With TempBook.Worksheets(sheet_Index)
.Range("A1", .Range("A1").End(xlDown)).Copy _
Destination:=mainWb.Worksheets(sheet_Index).Range("A1")
End With