【VBA】列を削除する(1列だけ、連続した複数列、離れた複数列)

VBAで列を削除する時は、RangeやColumns、EntireColumnのDeleteメソッドを使用します。

対象列の指定方法には、「列番号による数値指定」、「列名によるアルファベット指定」があります。

EntireColumnの場合は、指定したセルの存在する列を削除するので、「セルによる指定」になります。

1列だけ削除

次の3つの選択方法があります。例では、2列目を削除しています。

Rangeを使った列範囲指定

Rangeによる指定では、対象範囲の列(開始列と終了列)をコロンで区切って指定します。

今回のように2列目だけでも、引数は”B″ではなく、”B:B″となります。

Columnsを使った列指定

Columnsでは削除対象列を、列番号列による数値指定、列名によるアルファベット指定のどちらもできます。

数値で何列目か指定する時は、ダブルクォーテーションで囲む必要はありません。
Bなどアルファベットで指定する時は、ダブルクォーテーションで囲みます。

EntireColumnを使った対象セルによる列指定

EntireColumnを使うと、削除する列にあるセルから指定できます。

対象セルの指定は、Range、Cellsどちらの方法でも可能です。

 

連続した列を削除

連続した列をまとめて削除する方法も、1列だけ削除する時と同様に、3つの削除方法があります。例では、2列目から4列目を削除しています。

Rangeを使った列範囲指定

削除する列範囲の、開始列と終了列をコロン(:)でつないで指定します。

Columnsを使った列指定

削除する列範囲の、開始列と終了列をコロン(:)でつないで指定します。

EntireColumnを使った対象セルによる列指定

EntireColumnを使うと、削除する列範囲をセルから指定できます。

1つの列を指定する時、RangeとCellsどちらの指定でも可能でした。でも、複数列の場合は、Rangeによる指定になります。

Rangeは複数のセルが指定できるのですが、Cellsは1つのセルしか指定できないからです。

 

離れた列を削除

離れた列をまとめて削除するには、2つの削除方法があります(※Columnsによる指定はできません)。例では、2列目、4~5列目を選んでいます。

Rangeを使った列範囲指定

対象となる列を指定しますが、離れているセルをカンマ(,)区切りで指定します。連続した列範囲は、コロン(:)で指定します。

※Rangeで2列目を選ぶ時は、Bだけではなく、B:Bと指定するので間違えないようにしましょう。

EntireColumnを使った対象セルによる列指定

EntireColumnを使うと、削除する列範囲をセルから指定できます。

対象となるセルを指定しますが、離れているセルをカンマ(,)区切りで指定します。連続したセル範囲は、コロン(:)で指定します。

 

関連記事

VBAテクニック辞典
成果を出す5つのポイント
VBAテクニック辞典
えくとしょ | 初心者のためのエクセルとVBAの図書館
タイトルとURLをコピーしました