サイトについて      連絡先   検索

VBA 列を挿入する

はじめに

Excel VBA の列を挿入する方法を紹介します。

Columns.Insert メソッドか Range.Insert メソッドで列を挿入できます。

列を挿入する

Columns の引数に列番号を指定すると、その列に挿入できます。

列「A」に挿入するには Columns(1).Insert または Columns("A").Insert のように指定します。

Columns(1).Insert   ' 列「A」に挿入
Columns("A").Insert ' 列「A」に挿入
Columns(3).Insert   ' 列「C」に挿入
1

Range.EntireColumn を使用すると、指定したセルの列を取得できます。

セル「B2」の列に挿入するには Range("B2").EntireColumn.Insert のように指定します。

Range("B2").EntireColumn.Insert

列の範囲に挿入する

列の範囲「B ~ C」に挿入するには Range("B:C").Insert または Range(Columns(2), Columns(3)).Insert のように指定します。

Range("B:C").Insert                  ' B ~ C 列目に挿入
Range(Columns(2), Columns(3)).Insert ' B ~ C 列目に挿入
Range("D:D").Insert                  ' D 列目に挿入
2

指定したシートの列に挿入する

Columns.Insert とコードに書くと、アクティブなシートの列に挿入します。これは ActiveSheet.Columns.Insert の ActiveSheet が省略されています。

' どちらも同じコード
Columns(1).Insert
ActiveSheet.Columns(1).Insert

シートを指定するには Sheets の引数にシート名またはインデックスを指定します。

1

Sheet1 のシートを指定するには、Sheets("Sheet1") か Sheets(1) と書きます。

' Sheet1 の列「A」に挿入
Sheets("Sheet1").Columns(1).Insert
Sheets(1).Columns(1).Insert

' Sheet2 の列「A」に挿入
Sheets("Sheet2").Columns(1).Insert
Sheets(2).Columns(1).Insert

関連ページ