列を削除する
Excel VBAには、列を削除するための便利な方法がいくつかあります。
状況に応じて適切な方法を選択してください。
単一列を削除
VBA
Sub 列削除()
' 削除する列の番号を指定
列番号 = 3
' 範囲オブジェクトを作成
Range("C" & Range("C" & Rows.Count).End(xlUp).Row).Delete
End Sub
コードは注意してご使用ください。
連続した複数列を削除
VBA
Sub 列削除()
' 開始列と終了列の番号を指定
開始列 = 3
終了列 = 5
' 範囲オブジェクトを作成
Range(Cells(1, 開始列), Cells(Rows.Count, 終了列)).Delete
End Sub
コードは注意してご使用ください。
離れた複数列を削除
VBA
Sub 列削除()
' 削除する列の番号を配列で指定
削除列番号 = Array(3, 5, 7)
' 各列をループで削除
For Each 列番号 In 削除列番号
' 範囲オブジェクトを作成
Range(Cells(1, 列番号), Cells(Rows.Count, 列番号)).Delete
Next 列番号
End Sub
コードは注意してご使用ください。
指定セルを含む列を削除
VBA
Sub 列削除()
' 対象セルの列番号を取得
列番号 = Target.Column
' 範囲オブジェクトを作成
Range(Cells(1, 列番号), Cells(Rows.Count, 列番号)).Delete
End Sub
コードは注意してご使用ください。
指定範囲を含む列を削除
VBA
Sub 列削除()
' 削除範囲を指定
削除範囲 = Range("C1:E10")
' 開始列と終了列を計算
開始列 = 削除範囲.Column
終了列 = 削除範囲.Columns(削除範囲.Columns.Count).Column
' 範囲オブジェクトを作成
Range(Cells(1, 開始列), Cells(Rows.Count, 終了列)).Delete
End Sub
コードは注意してご使用ください。
補足
列を削除すると、その列に含まれていたデータもすべて削除されます。
列を削除すると、右側の列が左に詰められます。
削除する列に重要データが含まれていないことを確認してから実行してください。
上記以外にも、様々な方法で列を削除することができます。 詳細については、以下のリソースを参考にしてください。
【Excel VBA入門】行・列の削除とクリアをする方法 | 侍エンジニアブログ: https://wenku.csdn.net/answer/9b264ece818d45edbda701af5f8b730a
【VBA入門】列削除・挿入のマクロ作成方法 | じゅんじゅん エンジニアリングノート: https://excel-ubara.com/excelvba1/EXCELVBA329.html
Excel VBAで列全体を削除する方法: https://www.automateexcel.com/vba/delete-entire-row-column/
この記事が気に入ったらサポートをしてみませんか?