我的目标是从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的数据中。
问题是它在另一张纸上完美运行,而且它的代码完全相同
任何帮助,将不胜感激。由于
Pre-Integration
After integration
答案 0 :(得分:1)
使用tbl2.Offset(tbl2.Rows.Count)
引用Table2之后的第一个空白行。接下来使用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