VBA(Visual Basic for Applications)で、エクセルの特定の列を削除したいときは、『Deleteメソッド』を用います。
データを加工したり、表を加工したりと、よく使われるメソッドなので、覚えちゃいましょう!
記事を書いた人

こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。ブラック企業努め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますようにの精神で記事書いてます!!
目次
Deleteメソッドの構文(列削除するとき)
『Deleteメソッド』はセルの削除や行の削除にも用いられるのですが、今回の記事では列の削除に特化して説明していきます
Columns(1).Delete '1列目を削除する(列指定)
Range("A1").EntireColumn.Delete '1列目を削除する(セル指定)
どちらの書き方であっても、1列目(A列)が削除されます。変数の絡みなどで、どちらかの書き方を選択してください。
Deleteメソッドを使って実際に列の削除をやってみた

サンプルデータを個人情報テストデータジェネレーターを用いて作り、このデータを使って、列の削除のVBAを説明していきます。
1列だけを削除する
まずは、この7列目(G列)を削除して見ましょう。
Option Explicit
Sub DeleteColumn()
Columns(7).Delete
End Sub

はい!このように、7列目(G列)が削除されました!
1列しか消さないのですが、【Columns(7).Delete】と、【s】が必要なので、注意が必要です!
複数列を削除する
次は、4列目(D列)から7列目(G列)の4列分を削除してみます。
Option Explicit
Sub DeleteColumns()
Columns("D:G").Delete
End Sub

D列からG列までがこのように削除されました!
Option Explicit
Sub DeleteColumns()
Range("D:G").Delete
End Sub
Columnsではなく、Rangeでも同じようにD列からG列までが削除されます!
Deleteメソッドまとめ
『Deleteメソッド』は、1列ないし複数列をColumnsで指定することで削除してくれるメソッドです。
今回は列で説明しましたが、行であっても同じように削除してくれるので、行や列を削除したいときは、【Deleteメソッド】を思い出してください!
あわせて読みたい


【VBA】行を削除する|Deleteメソッド
VBA(Visual Basic for Applications)を用いて、エクセルの特定の行を削除したいときは、『Deleteメソッド』を用います。行の削除はデータの加工をはじめ、さまざまなと…