[英]copy a table from one Sheet and paste it in the next empty row of another Sheet using VBA excel
[英]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.