Excel VBA复制并向下粘贴两行
我刚刚遇到VBA,所以我完全是个新手。基本上,我目前正在自动化一个表单,需要在电子表格上为开发人员写出问题、潜在答案、说明等。我已经创建了一个基本模板表,所以所有问题的结构都相同。我想复制并粘贴这个表(清除内容并去掉问题的编号),然后从最后一个表的底部向下粘贴两行 如果我只想将表直接复制粘贴到第一个表的下面,那么代码就可以了,但我不能再继续了。我不知道如何写,我希望它找到最后填写的一行,并粘贴下表2行Excel VBA复制并向下粘贴两行,excel,vba,copy,paste,Excel,Vba,Copy,Paste,我刚刚遇到VBA,所以我完全是个新手。基本上,我目前正在自动化一个表单,需要在电子表格上为开发人员写出问题、潜在答案、说明等。我已经创建了一个基本模板表,所以所有问题的结构都相同。我想复制并粘贴这个表(清除内容并去掉问题的编号),然后从最后一个表的底部向下粘贴两行 如果我只想将表直接复制粘贴到第一个表的下面,那么代码就可以了,但我不能再继续了。我不知道如何写,我希望它找到最后填写的一行,并粘贴下表2行 Sub Macro2() ' ' Macro2 Macro ' ' Keyboard Shor
Sub Macro2()
'
' Macro2 Macro
'
' Keyboard Shortcut: Ctrl+g
'
Range("C2:G6").Select
Selection.ClearContents
Range("A2").Select
ActiveCell.FormulaR1C1 = "C"
Range("A2:G6").Select
Selection.Copy
Range("A8").Select
ActiveSheet.Paste
End Sub
您可以完全避免使用
select
来实现您的目标。在下面的代码中,Source
是表的范围,LastRow
查找表的最后一行,DestRng
是需要表副本的目标。希望这有帮助
Sub Macro2()
'
' Macro2 Macro
'
' Keyboard Shortcut: Ctrl+g
'
Dim TblRng As Range
Set TblRng = Range("C2:G6")
TblRng.ClearContents
Dim Source As Range
Set Source = Worksheets("Sheet2").Range(("A2"), Range("G2").End(xlDown))
Source.Copy
Dim LastRow As Long
LastRow = Cells(Rows.Count, "G").End(xlUp).Row
Dim DestRng As Range
Set DestRng = Source(LastRow + 1, "A")
DestRng.PasteSpecial xlPasteAll
End Sub
你可能会从阅读中受益。