我想将数据从一个工作簿复制到另一个。
以下行有效:
Workbooks(TempBook.Name).Worksheets(sheet_Index).Range("A1:A20").Copy _
Workbooks(mainWB.Name).Worksheets(sheet_Index).Range("A1")
Run Code Online (Sandbox Code Playgroud)
这抛出
应用程序定义或对象定义
Workbooks(TempBook.Name).Worksheets(sheet_Index).Range("A1", Range("A1").End(xlDown)).Copy _
Workbooks(mainWB.Name).Worksheets(sheet_Index).Range("A1")
Run Code Online (Sandbox Code Playgroud)
为什么我不能选择动态范围?
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
Run Code Online (Sandbox Code Playgroud)