私の目的は、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
しかし、その代わりに表1をコピーし、表2に挿入するのを、表2、ClearContentをコピーしているようだ、と表1
もののデータを使用して自身にそれを挿入する: 私は、次の試してみましたそれは別のシート上で完璧に動作し、まったく同じコードです。
ご協力いただければ幸いです。おかげ
Pre-Integration
After integration
手動で選択した複数の行を挿入]をクリックすると、行数、VBAが同じことをするでしょう挿入を優れています。あなたはtbl2の挿入時にtbl2の現在の行数を挿入しますが、tbl1の行数を挿入する必要があります –
申し訳ありませんが、どういう意味ですか?私はtbl2.insert Shift:= xlDown、それは実際にテーブルのコピーされた1つのセルをテーブル2に挿入するか、いいえ?コピーしたセルを右クリックして表に挿入することはできないので、Ctrl + Shift + 1を押すのと同じことになっています。 –
ここで何をしているのかは、1行をコピーしてから5行を選択して挿入することです。したがって、5行の重複行を効果的に挿入しています。両方の答えはこれを避けますが、トーマスはループを回避しますが、これは好ましいです –