列削除する
VBAで下記記述を行う事で、エクセルの列を削除する事が出来ます。
Public Sub sample()
'----------
'ActiveWorkBook.ActiveSheetの列削除の場合
'----------
'■2列目(B列)を削除 下記2パターンどちらでもよい
Columns(2).Delete
Columns("B").Delete
'■2列目~3列目(B列-C列)を削除 下記2パターンどちらでもよい
Columns("2:3").Delete
Columns("B:C").Delete
'----------
'任意のブック、任意のシートの行削除の場合
'----------
'■ThisWorkbook シート「設定シート」の2列目(B列)を削除
ThisWorkbook.Worksheets("設定シート").Columns(2).Delete
ThisWorkbook.Worksheets("設定シート").Columns("B").Delete
'■ブック「Book1」のシート「Sheet1」の2列目~3列目(B列-C列)を削除
Workbooks("Book1").Worksheet("Sheet1").Columns("2:3").Delete
Workbooks("Book1").Worksheet("Sheet1").Columns("B:C").Delete
End Sub
その他
- 削除する列が多ければ、画面がちらつきます。
ちらつきが気になる(もしくは速度を求める)場合は、下記処理を追加してください。
ExcelVBAマクロ「マクロ処理を高速化する」をパーツ化する。 - シート名やブック名は省略した方が可読性、メンテナンス性に優れます。
マクロ初級者必読-ワークシート名を変数にSetし、短い名前で利用する - Clearメソッドとの違いがあります。
Clearは行がそのまま残る。(クリアした列が空白列となる)
Deleteは列削除され、削除した列が詰められて表示される。
関連記事
指定行(ヘッダー行)以下を全て削除する【ExcelVBA】
ループ中に条件を満たす行の行削除を行う【ExcelVBA】
ループ中に条件を満たす列の列削除を行う【ExcelVBA】
ユーザーが指定した列の削除を行う【ExcelVBA】
行削除する【ExcelVBA】



コメント