見出し画像

列を削除する

 Excel VBAには、列を削除するための便利な方法がいくつかあります。
 状況に応じて適切な方法を選択してください。

  1. 単一列を削除

VBA
Sub 列削除()

' 削除する列の番号を指定
列番号 = 3

' 範囲オブジェクトを作成
Range("C" & Range("C" & Rows.Count).End(xlUp).Row).Delete

End Sub
コードは注意してご使用ください。

  1. 連続した複数列を削除

VBA
Sub 列削除()

' 開始列と終了列の番号を指定
開始列 = 3
終了列 = 5

' 範囲オブジェクトを作成
Range(Cells(1, 開始列), Cells(Rows.Count, 終了列)).Delete

End Sub
コードは注意してご使用ください。

  1. 離れた複数列を削除

VBA
Sub 列削除()

' 削除する列の番号を配列で指定
削除列番号 = Array(3, 5, 7)

' 各列をループで削除
For Each 列番号 In 削除列番号
    ' 範囲オブジェクトを作成
    Range(Cells(1, 列番号), Cells(Rows.Count, 列番号)).Delete
Next 列番号

End Sub
コードは注意してご使用ください。

  1. 指定セルを含む列を削除

VBA
Sub 列削除()

' 対象セルの列番号を取得
列番号 = Target.Column

' 範囲オブジェクトを作成
Range(Cells(1, 列番号), Cells(Rows.Count, 列番号)).Delete

End Sub
コードは注意してご使用ください。

  1. 指定範囲を含む列を削除

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/

この記事が気に入ったらサポートをしてみませんか?