首页 文章

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

提问于
浏览
0

我正在使用下面的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

请帮帮我..

3 回答

  • 0

    你的代码很好,但需要更改一行,就是这个地方 Sheets("Sheet2").Activate line before 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
    
  • 1

    试试这个:

    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
    
  • 0

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

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

相关问题