(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Excel】特定のキーワードを含む列を削除するマクロ

スポンサーリンク

はじめに

Excelのシート内に以下のように不要な列が入っている場合に

ゴミ列 ゴミ列 ゴミ列

列名の箇所にて右クリックをして「Delete」すれば列は削除され左詰めされます。

一方、特定のキーワードが削除したい列に存在する場合はマクロによる削除を利用すると省力化できます。

特定の文字列を含む列を削除するマクロ

マクロを動かすと該当列は削除されるため別名保存にてバックアップの取得を推奨します

以下のコードにて「ゴミ列」という文字列が含まれる列を削除することができます。

Sub test()
Dim R As Range
Do
    Set R = ActiveSheet.Range("A:ZZ").Find(What:="ゴミ列", LookAt:=xlPart)
    If R Is Nothing Then Exit Sub
    R.EntireColumn.Delete Shift:=xlToLeft
Loop
End Sub

補足

 LookAt:=xlPart

の箇所を

LookAt:=xlWhole

に変更すれば部分一致から完全一致になります。

要は、「2001年のゴミ列」という列名があった際に

 LookAt:=xlPart

では引っかかり削除対象になりますが

LookAt:=xlWhole

では完全一致していないので削除対象にはなりません。

終わりに

タイトルのシーンはマウス操作でもできるためVBAにて記述する間もなく手で消してしまいがちですが、精度という観点でおいても機械に任せた方がヒューマンエラーは起きにくいので覚えておくと役立つと思います。
ただし、誤って不要な行/列を削除しないようにキーワード選定にはご注意ください。以上です。