将数据从一个表复制/插入到另一个表

我的目标是从table1中复制数据并将其插入到table2中。 我尝试了以下内容:

Sub Integration() Dim tbl1 As Range Dim tbl2 As Range Application.ScreenUpdating = False Set tbl1 = ActiveSheet.ListObjects("Table1").DataBodyRange Set tbl2 = ActiveSheet.ListObjects("Table2").DataBodyRange tbl1.Copy tbl2.Insert Shift:=xlDown Application.CutCopyMode = False tbl1.ClearContents Application.ScreenUpdating = True End Sub 

但不是复制Table1并将其插入到Table2中,而是复制Table2,ClearContent,并将其插入表1的数据中。

事情是,它在另一张表上完美运行,它是完全相同的代码。
任何帮助,将不胜感激。 谢谢
预集成
整合后

使用tbl2.Offset(tbl2.Rows.Count)引用表2之后的第一个空行。 接下来使用tbl1.Copy tbl1.Copy tbl2.Offset(tbl2.Rows.Count)粘贴Table1的内容。

 Sub Integration() Dim tbl1 As Range Dim tbl2 As Range Application.ScreenUpdating = False Set tbl1 = ActiveSheet.ListObjects("Table1").DataBodyRange Set tbl2 = ActiveSheet.ListObjects("Table2").DataBodyRange tbl1.Copy tbl2.Offset(tbl2.Rows.Count) Application.CutCopyMode = False tbl1.ClearContents Application.ScreenUpdating = True End Sub 

或者使用列表对象来分配数据:

 Sub Integration() Dim tbl1 As ListObject, tbl2 As ListObject Set tbl1 = ActiveSheet.ListObjects("Table1") Set tbl2 = ActiveSheet.ListObjects("Table2") For i = 1 To tbl1.ListRows.Count tbl2.ListRows.Add 1, True tbl2.ListRows(1).Range.Value = tbl1.ListRows(i).Range.Value Next i End Sub