列を挿入したり削除するとき、周囲のセルをどちらに移動するかを選択します。
列を挿入するときはInsertメソッドを、列を削除するときはDeleteメソッドを使います。
引数を使って挿入・削除時のセルの方向を指定します。
Insertメソッドで列を挿入する
挿入位置を指定して、列を挿入します。

■ コード内を「Wクリック」で選択できます。
Sub サンプル4165_1() <pre><code>Range("B3").Select Selection.EntireColumn.Insert</code></pre> End Sub
• Range(“B3”).Select
’セルB3を選択します。
• Selection.EntireColumn.Insert
’選択したセルに列を挿入します。

Columnsプロパティで列を挿入する
Columnsプロパティは、Columnsの引数にColumns(1)で1列目、Columns(3)で3列目のように挿入箇所を指定します。

■ コード内を「Wクリック」で選択できます。
Sub サンプル4165_2() <pre><code>Columns(5).Insert</code></pre> End Sub
• Columns(5).Insert
’5列目に列を挿入します。

Insert Shiftで列を挿入する
次の表を例に使います。

セルB3を基準にして、列を挿入します。
■ コード内を「Wクリック」で選択できます。
Sub サンプル4165_3() <pre><code>Range("B3").Resize(5, 1) _ .Insert Shift:=xlShiftToRight, _ CopyOrigin:=xlFormatFromRightOrBelow</code></pre> End Sub
• Range(“B3”).Resize(5, 1) _
.Insert Shift:=xlShiftToRight, _
CopyOrigin:=xlFormatFromRightOrBelow
’セルB3を基準にして、5行、1列分のセルを挿入します。
セルを挿入した後で、既存のセルを右方向に移動し右のセルの書式をコピーします。

■ Insertの引数
Shift設定値 | 説明 |
---|---|
xlShiftDown | セルを挿入後、下にずらす。 |
xlShiftToRight | セルを挿入後、右にずらす。 |
CopyOrigin設定値 | 説明 |
---|---|
xlFormatFromLeftOrAbove | 上、または左のセルから書式をコピーする。 |
xlFormatFromRightOrBelow | 下、または右のセルから書式をコピーする |
範囲を指定して列を挿入する
列の範囲を指定して、列を挿入することができます。

■ コード内を「Wクリック」で選択できます。
Sub サンプル4165_5() <pre><code>Range("B:C").Insert</code></pre> 'Columns("B:C").Insert End Sub
• Range(“B:C”).Insert
’B列とC列に挿入します。

• Columns(“B:C”).Insert
’Columnsプロパティ で、B列~C列までを指定しても同じ結果になります。
Deleteメソッドで列を削除する
■ 列を削除する1例目
セルB3の列を削除する。

■ コード内を「Wクリック」で選択できます。
Sub サンプル4165_6() <pre><code>Range("B3").Resize(5, 1).Delete</code></pre> End Sub
• Range(“B3”).Resize(5, 1).Delete
’セルB3を基準にして、5行、1列分を削除する。

■ 列を削除する2例目

■ コード内を「Wクリック」で選択できます。
Sub サンプル4165_7() Range("B3", Range("B3").End(xlDown)) _ .Delete Shift:=xlShiftToLeft End Sub
• Range(“B3”, Range(“B3”).End(xlDown)) _
.Delete Shift:=xlShiftToLeft
’セルB3を基準にして、終端セル(下)までのセルを削除します。
セルの削除後は、右にあったセルを左方向にずらします。

以上で「列の挿入と削除」の説明を終わります。