粘贴最后一行的数据
我正试图将数据从工作表(模板)粘贴到A列中最后一个使用单元的工作表(主)上。
但我似乎不能得到我想要的结果。
Dim lastrow As Long If Range("a1").Value = "A" Then Sheets("Template").Range("a1:e9").Copy lastrow = Cells(Rows.Count, 1).End(xlUp).Row Sheets("Main").Range("a" & lastrow).paste End If
错误 : Sheets("Main").Range("a" & lastrow).paste
(对象不支持此属性或方法)
尝试完全限定所有的对象和variables(永远不要假设或依赖于ActiveSheet
)。
此外, Copy
>> Paste
是1行命令(不是2)。 如果你想使用2行,那么将第二行改为PasteSpecial
(即使在你的情况下不需要)。
If Sheets("Template").Range("A1").Value = "A" Then lastrow = Sheets("Main").Cells(Sheets("Main").Rows.Count, 1).End(xlUp).Row Sheets("Template").Range("A1:E9").Copy Destination:=Sheets("Main").Range("A" & lastrow + 1) End If
如果你只需要获取数据的值,那么你可以使用variant。
Dim vDB as Variant Dim rngT As Range Dim Ws As Worksheet vDB = Sheets("Template").Range("a1:e9") Set Ws = Sheets("Main") With Ws If .Range("a1").Value = "A" Then Set rngT = .Range("a" & Rows.Count).End(xlUp)(2) ' it's lastrow +1 rngT.Resize(UBound(vDB, 1), UBound(vDB, 2)) = vDB End If End With