列削除する
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】
コメント