Excel-复制范围(多行)并粘贴和粘贴另一张纸的结尾

时间:2020-08-04 19:53:43

标签: excel vba

我需要复制一个范围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

2 个答案:

答案 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