Excel 运行时错误';438';用于在两个工作簿之间复制数据

Excel 运行时错误';438';用于在两个工作簿之间复制数据,excel,vba,copy-paste,Excel,Vba,Copy Paste,下面的代码将打开两个工作簿,源/目标,查找目标的最后一行,复制源的范围,并粘贴到目标的最后一行,但我得到运行时错误438:对象不支持此属性或方法。错误位于:“sBook_.t.Sheets(“数据转储”).Range(“B”)和lRow2.Paste” 代码如下: Sub last_row() Dim sBook_t As Workbook Dim sBook_s As Workbook Dim wbPath_t As String Dim wbPath_s As String Dim lRo

下面的代码将打开两个工作簿,源/目标,查找目标的最后一行,复制源的范围,并粘贴到目标的最后一行,但我得到运行时错误438:对象不支持此属性或方法。错误位于:“sBook_.t.Sheets(“数据转储”).Range(“B”)和lRow2.Paste”

代码如下:

Sub last_row()

Dim sBook_t As Workbook
Dim sBook_s As Workbook
Dim wbPath_t As String
Dim wbPath_s As String
Dim lRow2 As Long


wbPath_t = "\\file086\Worksheet Test.xlsb"
wbPath_s = "\\file080\SYNC_FTD2.csv"

Set sBook_t = Workbooks.Open(wbPath_t)
Set sBook_s = Workbooks.Open(wbPath_s)
    
'Find last row in paste workbook
lRow2 = sBook_t.Sheets("Data Dump").Range("B" & sBook_t.Sheets("Data Dump").Rows.Count).End(xlUp).Row + 1

'copy and paste
sBook_s.Sheets("LocationAllocation").Range("A2:M300").Copy
sBook_t.Sheets("Data Dump").Range("B" & lRow2).Paste                 <--- RUN TIME ERROR 438
   
Application.CutCopyMode = False

Set sBook_s = Nothing
Set sBook_t = Nothing
Sub-last_行()
将sBook\u t设置为工作簿
将sBook作为工作簿
将wbPath\u t设置为字符串
作为字符串的Dim wbPath_s
昏暗的lRow2与长
wbPath_t=“\\file086\Worksheet Test.xlsb”
wbPath_s=“\\file080\SYNC\u FTD2.csv”
设置sBook\u t=工作簿。打开(wbPath\u t)
设置sBook\u s=工作簿。打开(wbPath\u s)
'查找粘贴工作簿中的最后一行
lRow2=sBook\t.Sheets(“数据转储”).范围(“B”和sBook\t.Sheets(“数据转储”).行数)。结束(xlUp)。行数+1
“复制粘贴
sBook_.Sheets(“LocationAllocation”).范围(“A2:M300”).副本

sBook_t.Sheets(“数据转储”).Range(“B”和lRow2).Paste您的两张工作表似乎被错误识别了。使用“复制”命令,您只需要在同一行上标识粘贴范围。纠正这两行似乎有效

'Find last row in paste workbook
lRow2 = sBook_s.Sheets("Data Dump").Range("B" & sBook_s.Sheets("DataDump").Rows.Count).End(xlUp).Row + 1

'copy and paste
sBook_t.Sheets("LocationAllocation").Range("A2:M300").Copy sBook_s.Sheets("Data Dump").Range("B" & lRow2)

实际上,
Range
有一个名为
Paste
的方法。您能建议什么方法适合粘贴吗?