复制列直到最后一行从一个工作表粘贴到另一个工作表的下一个空行

我正在使用下面的VBA代码复制从Sheet1的范围,并将其粘贴在同一张表。 不过,我需要将数据粘贴到sheet2的下一个可用行中。

Private Sub CommandButton1_Click() Sheets("Sheet1").Range("A1:A5").Copy Dim lastrow As Long lastrow = Range("A65536").End(xlUp).Row Sheets("Sheet2").Activate Cells(lastrow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True End Sub 

请帮我解决

你的代码是好的,但你需要改变它的一行,就是放置Sheets("Sheet2").Activate之前 lastrow = Range("A65536").End(xlUp).Row

  Private Sub CommandButton1_Click() Sheets("Sheet1").Range("A1:A5").Copy Sheets("Sheet2").Activate Dim lastrow As Long lastrow = Range("A65536").End(xlUp).Row Cells(lastrow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True End Sub 

尝试这个:

  Private Sub CommandButton1_Click() Dim lastrow As Long Dim rng1 As Range Dim rng2 As Range lastrow = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row Set rng1 = Sheets("Sheet1").Range("A1:A5") Set rng2 = Sheets("Sheet2").Range("A" & lastrow + 1) rng1.Copy rng2.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True End Sub 

首先激活sheet2,然后查找最后一行

 lastrow = Range("A65536").End(xlUp).Row