はじめに
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にて記述する間もなく手で消してしまいがちですが、精度という観点でおいても機械に任せた方がヒューマンエラーは起きにくいので覚えておくと役立つと思います。
ただし、誤って不要な行/列を削除しないようにキーワード選定にはご注意ください。以上です。