我需要复制一个范围sheet1(“ Assembly1”)并将其粘贴到sheet2的最后一行之后。 我可以找到并确定最后一行。我可以复制并粘贴一行。但是我无法弄清楚多行。我不是程序员,我只是采用代码,我猜想这需要某种我无法理解的循环形式。
此代码适用于单个行范围(Range = "a3")
,但当其(Range = "a3:f3")
时失败
我认为这是因为我可能需要计算范围,然后将其粘贴多次。但是我真的可以帮忙。
Dim LRow As Long
LRow = Sheets("Sheet1").Range("ag" & Rows.Count).End(xlUp).Row
MsgBox LRow 'verifies I found the last row correctly
With Worksheets("sheet1")
.Range("assem1").EntireRow.Copy
End With
With Worksheets("sheet2")
.Rows(LRow).Insert Shift:=x1down
End With
答案 0 :(得分:0)
认为您可以做到这一点。
Dim LRow As Long
LRow = Sheets("Sheet2").Range("ag" & Rows.Count).End(xlUp).Row
MsgBox LRow 'verifies I found the last row correctly
With Worksheets("sheet1")
.Range("assem1").EntireRow.Copy Worksheets("sheet2").range("A" & LRow+1)
End With
答案 1 :(得分:0)
那呢?尝试/玩一个。 他们都在工作。
这将适用于您要复制粘贴的任何范围。只需将"AG2:AG" & DLR
(最后一行)更改为"AG2:AI" & DLR
(在第三个宏中为您完成)
Sub cp()
Dim DLR As Long, WLR As Long
DLR = Sheets("Sheet1").Range("D100000").End(xlUp).Row
MsgBox DLR 'verifies I found the last row correctly
WLR = Sheets("Sheet2").Range("D100000").End(xlUp).Row
Sheets("Sheet1").Range("AG2:AG" & DLR).Copy Destination:=Sheets("Sheet2").Range("A" & WLR + 1)
End Sub
或
要显得更专业:
Sub cp()
Dim DLR As Long, WLR As Long
DLR = Sheets("Sheet1").Range("AG" & Rows.Count).End(xlUp).Row
MsgBox DLR 'verifies I found the last row correctly
WLR = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet1").Range("AG2:AG" & DLR).Copy Destination:=Sheets("Sheet2").Range("A" & WLR + 1)
End Sub
我刚刚拿到了找到的here代码,并对其进行了调整以适合您的Sheet1 / Sheet 2和您想要做的事情。它的工作。
第三个宏:
Sub cp()
'Find Last Row
Dim DLR As Long, WLR As Long
DLR = Sheets("Sheet1").Range("AG" & Rows.Count).End(xlUp).Row
MsgBox DLR 'verifies I found the last row correctly in sheet1
WLR = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row
MsgBox WLR 'verifies I found the last row correctly in sheet2
Sheets("Sheet1").Range("AG2:AI" & DLR).Copy Destination:=Sheets("Sheet2").Range("A" & WLR + 1)
End Sub