別ブックを指定する時はWorkbooks、別シートを指定する時はWorksheetsを使って列を削除します。
サンプルコードでは、Columnsを使って列削除を行っています。RangeやEntireColumnを使った列削除を行いたい場合は、次の記事を参考にしてください。
【VBA】列を削除する(1列だけ、連続した複数列、離れた複数列)
別ブックの列を削除する
Workbooks(“ブック名”)でブック名を指定し、そのブック内の対象シートをWorksheets(“シート名”)で指定します。
コード
サンプルコードでは、「社員情報」ブックの「住所」シートから1列目を削除します。
1 2 3 |
Workbooks("社員情報.xlsx").Worksheets("住所").Columns(1).Delete |
解説
1行だけなのでプログラムの読み方を説明すると、「社員情報エクセルの住所シートの列1を削除」となります。
注意する点としては、ブック名を指定するところは拡張子.xlsxも書く必要があります。
存在しないブックやシートを指定した場合は、下の画像のエラーが発生するので、「ブック名」と「シート名」を確認してください。
別シートの列を削除する
対象シートをWorksheets(“シート名”)で指定します。
この時、対象のブックはアクティブブック(1番手前に表示されているブック)になるので注意してください。
コードを実行する直前にさわったエクセルファイルが対象になります。
コード
サンプルコードでは、「住所」シートから1列目を削除します。
1 2 3 |
Worksheets("住所").Columns(1).Delete |
解説
1行だけなのでプログラムの読み方を説明すると、「住所シートの列1を削除」となります。
列削除の基本や、その他の応用テクニックは下の記事を見てください。
【VBA】列を削除する(1列だけ、連続した複数列、離れた複数列)