Excel 粘贴最后一行中的数据

Excel 粘贴最后一行中的数据,excel,vba,Excel,Vba,我正在尝试将数据从工作表(模板)粘贴到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).

我正在尝试将数据从工作表(模板)粘贴到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)。粘贴
(对象不支持此属性或方法)

尝试完全限定所有对象和变量(切勿假设或依赖
ActiveSheet

另外,
Copy
>
Paste
是一个单行命令(不是两行)。如果要使用两行,请将第二行更改为
PasteSpecial
(即使在您的情况下不需要)


如果您只需要获取数据的值,那么可以使用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

你想要的结果是什么?你得到了什么?有错误吗?
Sheets(“Main”).Cells(Rows.Count,1)。End(xlUp)。Row
我使用了您的代码,它不再显示错误,但最后仍然没有粘贴任何内容row@Hank是工作表
“模板”
=
“A”
中单元格“A1”中的值吗?您今天着火了:D@SiddharthRout我只落后于你6年的知识(大约80K),但最后今天是“工作的好日子”,我可以专注于我的VBA.oops.Sheets(“模板”).Range(“A1:E9”).Copy destination:=Sheets(“Main”).Range(“a”和lastrow)Set rngT=.Range(“A1”和Rows.Count)。End(xlUp)(2)@Hank:error Set rngT=.Range(“a”和Rows.Count)。End(xlUp)(2)
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