[英]Copy data from one workbook to another workbook last row
下面是我的代码,用于将数据从一个工作簿复制到另一个工作簿,但这给了我错误:
下标超出范围
同样,此代码也不会将数据复制到目标表的最后一行。
Sub CopyDataNEW()
Dim sBook_t As Workbook
Dim sBook_s As Workbook
Dim wbPath_t As String
Dim wbPath_s As String
wbPath_t = "F:\TESt\DB_BA.xlsx"
wbPath_s = "F:\TESt\PPC_BA.xlsm"
Set sBook_s = Workbooks.Open(wbPath_s)
Set sBook_t = Workbooks.Open(wbPath_t)
sBook_s.Sheets("cstdata").Range("A2:EK2").Copy Destination:=sBook_t.Sheets("cstdatalist").Range("A2")
End Sub
编辑你的代码,应该工作:
Sub CopyDataNEW()
Dim sBook_t As Workbook
Dim sBook_s As Workbook
Dim wbPath_t As String
Dim wbPath_s As String
Dim lRow2 as Long
'make sure file destination is correct, file name is correct, and file extension is correct here
'you will get subscript out of range error here if these are not accurate
wbPath_t = "F:\TESt\DB_BA.xlsx"
wbPath_s = "F:\TESt\PPC_BA.xlsm"
Set sBook_s = Workbooks.Open(wbPath_s)
Set sBook_t = Workbooks.Open(wbPath_t)
'Find last row in paste workbook
lRow2 = sBook_t.Sheets("cstdatalist").Range("A" & sBook_t.Sheets("cstdatalist").Rows.Count).End(xlUp).Row + 1
'copy and paste
sBook_s.Sheets("cstdata").Range("A2:EK2").Copy
sBook_t.Sheets("cstdatalist").Range("A" & lRow2).Paste
'clear clip board
Application.CutCopyMode = False
'clear objects
Set sBook_s = Nothing
Set sBook_t = Nothing
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.