セル・行・列の挿入、セル・行・列の位置を変更する Insertメソッド



Range.Insert(Shift, CopyOrigin)

セルの挿入や列の挿入、行の挿入をするRangeメソッドです。
エクセル上でのショートカット[Ctrl + +(プラス)]の挿入と同一処理です。

引数を指定して挿入後に下か右のどちらかにシフトさせるか指示することが出来ます。
引数を指定しないとエクセルにシフト方向は判断させることになります。(行(Row)を選択してれば下側、列(Column)なら右側のような感じ)

・列の挿入 クリップボードに列がある場合はRangeの列に挿入され、指定された範囲にあったセルは右側にシフトされます。
クリップボードになにもない場合は空白列を挿入します。


サンプル1)列の挿入1
Sub SampleColI1()
    'C列をA列に挿入する
    Columns("C").Cut 'C列をカット
    Columns("A").EntireColumn.Insert 'A列左に挿入

    'D列に空白列を挿入する
    Range("D:D").Insert
End Sub

結果



サンプル2)列の挿入2
Sub SampleColI2()
    'セル"C1"を"A1"に挿入する
    Range("C1").Cut
    Range("A1").EntireColumn.Insert

    'D列に空白列を挿入す
    Range("D1").EntireColumn.Insert
End Sub

結果