Excel 如何在VBA中将两个单独的表复制并粘贴到另一个表的末尾?
我正在尝试将两个表复制并粘贴到另一个表的底部。这是我的密码:Excel 如何在VBA中将两个单独的表复制并粘贴到另一个表的末尾?,excel,vba,Excel,Vba,我正在尝试将两个表复制并粘贴到另一个表的底部。这是我的密码: 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.Coun
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
复制其中一个范围时没有问题。将两个范围的代码放在一起进行复制时,只有第二个范围复制成功。
第二个范围似乎覆盖了第一个范围
任何帮助都将不胜感激。不必将最后一行存储在变量中,然后在粘贴第二个表之前重新计算最后一行,只需动态计算最后一行并使用
偏移量即可
即,更改
Destination:=Chart.Range("A" & lr2 + 1)
到
看起来,在粘贴下一个表之前,您必须为最后一行变量重新赋值。我确实尝试了生成“lr3”值,但同样的情况发生了。您在粘贴第一个表之前或之后为lr3赋值了吗?
Destination:=Chart.Cells(Rows.Count, 1).End(xlUp).Offset(1)