列を挿入したり削除するとき、周囲のセルをどちらに移動するかを選択します。
列を挿入するときはInsertメソッドを、列を削除するときはDeleteメソッドを使います。
引数を使って挿入・削除時のセルの方向を指定します。
Insertメソッドで列を挿入する
挿入位置を指定して、列を挿入します。
[code] Sub サンプル4165_1() Range(“B3”).Select Selection.EntireColumn.Insert End Sub [/code]
• Range(“B3”).Select
’セルB3を選択します。
• Selection.EntireColumn.Insert
’選択したセルに列を挿入します。
Columnsプロパティで列を挿入する
Columnsプロパティ は、Columnsの引数にColumns(1)で1列目、Columns(3)で3列目のように挿入箇所を指定します。
[code] Sub サンプル4165_2() Columns(5).Insert End Sub [/code]
• Columns(5).Insert
’5列目に列を挿入します。
Insert Shiftで列を挿入する
次の表を例に使います。
セルB3を基準にして、列を挿入します。
■ コード内を「Wクリック」で選択できます。[code] Sub サンプル4165_3() Range(“B3”).Resize(5, 1) _ .Insert Shift:=xlShiftToRight, _ CopyOrigin:=xlFormatFromRightOrBelow End Sub [/code]
• Range(“B3”).Resize(5, 1) _
.Insert Shift:=xlShiftToRight, _
CopyOrigin:=xlFormatFromRightOrBelow
’セルB3を基準にして、5行、1列分のセルを挿入します。
セルを挿入した後で、既存のセルを右方向に移動し右のセルの書式をコピーします。
■ Insertの引数
Shift設定値 | 内 容 |
---|---|
xlShiftDown | セルを挿入後、下にずらす。 |
xlShiftToRight | セルを挿入後、右にずらす。 |
CopyOrigin設定値 | 内 容 |
xlFormatFromLeftOrAbove | 上、または左のセルから書式をコピーする。 |
xlFormatFromRightOrBelow | 下、または右のセルから書式をコピーする |
範囲を指定して列を挿入する
列の範囲を指定して、列を挿入することができます。
[code] Sub サンプル4165_5() Range(“B:C”).Insert ’Columns(“B:C”).Insert End Sub [/code]
• Range(“B:C”).Insert
’B列とC列に挿入します。
• Columns(“B:C”).Insert
’Columnsプロパティ で、B列~C列までを指定しても同じ結果になります。
Deleteメソッドで列を削除する
■ 列を削除する1例目
セルB3の列を削除する。
[code] Sub サンプル4165_6() Range(“B3”).Resize(5, 1).Delete End Sub [/code]
• Range(“B3”).Resize(5, 1).Delete
’セルB3を基準にして、5行、1列分を削除する。
■ 列を削除する2例目
[code] Sub サンプル4165_7() Range(“B3”, Range(“B3”).End(xlDown)) _ .Delete Shift:=xlShiftToLeft End Sub [/code]
• Range(“B3”, Range(“B3”).End(xlDown)) _
.Delete Shift:=xlShiftToLeft
’セルB3を基準にして、終端セル(下)までのセルを削除します。
セルの削除後は、右にあったセルを左方向にずらします。
■関連記事■ 列を選択するマクロ
■関連記事■ 行の挿入と削除
■関連記事■ 列の挿入と削除
■関連記事■ 行の非表示と再表示のマクロ
■関連記事■ 列の非表示と再表示のマクロ
■関連記事■ 行の高さを設定する
■関連記事■ 列幅を設定する
以上で「列の挿入と削除」の説明を終わります。