2

我正在尝试将两个表复制并粘贴到另一个表的底部。这是我的代码:

Sub Inv_Copy_Paste()
    Dim Inv As Worksheet
    Dim Chart As Worksheet
    Dim lr2 As Long

    Set Inv = Worksheets("Inventory Data")
    Set Chart = Worksheets("Inventory for Charts")
    lr2 = Chart.Cells(Rows.Count, 1).End(xlUp).Row

    With Inv
        .Range("A2", ("I2" & .Range("A" & Rows.Count).End(xlUp).Row)).Copy Destination:=Chart.Range("A" & lr2 + 1)
        .Range("K2", ("S2" & .Range("K" & Rows.Count).End(xlUp).Row)).Copy Destination:=Chart.Range("A" & lr2 + 1)   
    End With
End Sub

复制其中一个范围时没有问题。
将两个范围的代码放在一起进行复制时,只有第二个范围复制成功。
第二个范围似乎覆盖了第一个范围。

任何帮助将不胜感激。

4

1 回答 1

4

无需将最后一行存储在变量中,然后在粘贴第二个表之前重新计算最后一行,您可以简单地动态计算最后一行并使用Offset.

即,更改两个实例

Destination:=Chart.Range("A" & lr2 + 1)

Destination:=Chart.Cells(Rows.Count, 1).End(xlUp).Offset(1)
于 2018-10-29T21:29:10.640 回答