繁体   English   中英

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

[英]Excel VBA - Copy range from one sheet to another, next empty row

我正在尝试从一个工作表获取一个范围,并将其复制到另一工作表中的下一个空行(基本上,将其粘贴到另一工作表中下一个空行的范围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宏中激活/选择其他单元格,因此例如,我将摆脱Sheet3.Activate 我也将“手动”复制内容而不使用剪贴板,以避免更改用户的剪贴板内容。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM