Excel VBA-从一张图纸复制到另一张图纸,下一个空行

Excel VBA-从一张图纸复制到另一张图纸,下一个空行,excel,vba,Excel,Vba,我试图从一张工作表中获取一个范围,并将其复制到另一张工作表中的下一个空行(基本上,粘贴到另一张工作表中下一个空行的范围A12:D12)。范围永远不会改变。我见过很多这样的问题,人们都说答案很有效,但我无法让它发挥作用 对VBA非常陌生。以下是我正在使用的代码: Private Sub CommandButton1_Click() Dim NextRow As Range Set NextRow = Range("A" & Sheets("Sheet3").UsedRan

我试图从一张工作表中获取一个范围,并将其复制到另一张工作表中的下一个空行(基本上,粘贴到另一张工作表中下一个空行的范围
A12:D12
)。范围永远不会改变。我见过很多这样的问题,人们都说答案很有效,但我无法让它发挥作用

对VBA非常陌生。以下是我正在使用的代码:

Private Sub CommandButton1_Click()

    Dim NextRow As Range
    Set NextRow = Range("A" & Sheets("Sheet3").UsedRange.Rows.Count + 1)  

    Sheet1.Range("A12:D12").Copy
    Sheet3.Activate
    NextRow.PasteSpecial Paste:=xlValues, Transpose:=False
    Application.CutCopyMode = False

    Set NextRow = Nothing

End Sub
这会运行,但实际上不会将任何值粘贴到
Sheet3
。有什么我遗漏的吗?有更好的方法吗


谢谢

第二行定义
NextRow

有更好的方法吗?这取决于你的需要;就我个人而言,我不喜欢在VBA宏期间激活/选择其他单元格,例如,我会去掉
表3.激活
。我也会在不使用剪贴板的情况下“手动”复制这些内容,以避免更改用户的剪贴板内容

Private Sub CommandButton1_Click()

    Dim NextRow As Range
    Set NextRow = Sheet3.Range("A" & Sheet3.Rows.Count).End(xlUp).Offset(1, 0)

    Sheet1.Range("A12:D12").Copy
    Sheet3.Activate
    NextRow.PasteSpecial Paste:=xlValues, Transpose:=False
    Application.CutCopyMode = False

    Set NextRow = Nothing

End Sub

第二行定义
NextRow

有更好的方法吗?这取决于你的需要;就我个人而言,我不喜欢在VBA宏期间激活/选择其他单元格,例如,我会去掉
表3.激活
。我也会在不使用剪贴板的情况下“手动”复制这些内容,以避免更改用户的剪贴板内容

Private Sub CommandButton1_Click()

    Dim NextRow As Range
    Set NextRow = Sheet3.Range("A" & Sheet3.Rows.Count).End(xlUp).Offset(1, 0)

    Sheet1.Range("A12:D12").Copy
    Sheet3.Activate
    NextRow.PasteSpecial Paste:=xlValues, Transpose:=False
    Application.CutCopyMode = False

    Set NextRow = Nothing

End Sub