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

VBA 列を削除する

はじめに

Excel VBA の列を削除する方法を紹介します。

Columns.Delete メソッドか Range.Delete メソッドで列を削除できます。

列を削除する

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

列「B」を削除するには Columns(2).Delete または Columns("B").Delete のように指定します。

Columns(2).Delete
Columns("B").Delete
1

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

セル「B1」の列を削除するには Range("B1").EntireColumn.Delete のように指定します。

Range("B1").EntireColumn.Delete

列の範囲を削除する

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

Range("B:C").Delete                  ' 列「B ~ C」を削除
Range(Columns(2), Columns(3)).Delete ' 列「B ~ C」を削除
Range("D:D").Delete                  ' 列「D」を削除
2

指定したシートの列を削除する

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

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

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

1

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

' Sheet1 の列「A」を削除
Sheets("Sheet1").Columns(1).Delete
Sheets(1).Columns(1).Delete

' Sheet2 の列「A」を削除
Sheets("Sheet2").Columns(1).Delete
Sheets(2).Columns(1).Delete

関連ページ