VBAで列を選択状態にする時は、RangeプロパティのSelectメソッドを使用します。
対象列を指定するには、RangeやColumnsなどいくつかの方法があります。
1列だけ選ぶ
【実行結果】
次の3つの選択方法があります。例では、2列目を選んでいます。
Rangeを使った列範囲指定
1 2 3 4 |
'2列目を選択 Range("B:B").Select |
Rangeによる指定では、対象範囲の列(開始列と終了列)をコロンで区切って指定します。
今回のように2列目だけでも、引数は”B″ではなく、”B:B″となります。
Columnsを使った列指定
1 2 3 4 5 6 7 8 |
'2列目を選択 '数値指定 Columns(2).Select 'アルファベット指定 Columns("B").Select |
数値で何列目か指定する時は、ダブルクォーテーションで囲む必要はありません。
Bなどアルファベットで指定する時は、ダブルクォーテーションで囲みます。
EntireColumnを使った対象セルによる列指定
1 2 3 4 5 6 7 8 |
'2列目を選択 '対象セルをRange指定 Range("B1").EntireColumn.Select '対象セルをCells指定 Cells(1, 2).EntireColumn.Select |
EntireColumnによる指定では、対象セルを指定することで、列を選択状態にできます。
対象セルの指定は、Range、Cellsどちらの方法でも可能です。
連続した列を選ぶ
連続した列も1列だけ選ぶ時と同様に、3つの選択方法があります。例では、2列目から4列目を選んでいます。
Rangeを使った列範囲指定
1 2 3 4 |
'2~4列目を選択 Range("B:D").Select |
選択する範囲の、開始列と終了列をコロン(:)でつないで指定します。
Columnsを使った列指定
1 2 3 4 |
'2~4列目を選択 Columns("B:D").Select |
選択する範囲の、開始列と終了列をコロン(:)でつないで指定します。
EntireColumnを使った対象セルによる列指定
1 2 3 4 |
'2~4列目を選択 Range("B1:D1").EntireColumn.Select |
1つの列を指定する時、RangeとCellsどちらの指定でも可能でした。でも、複数列の場合は、Rangeによる指定になります。
Rangeは複数のセルが指定できるのですが、Cellsは1つのセルしか指定できないためです。
離れた列を選ぶ
離れた列を選ぶには、2つの選択方法があります(※Columnsによる指定はできません)。例では、2列目、4~5列目を選んでいます。
Rangeを使った列範囲指定
1 2 3 4 |
'2列目、4~5列目を選択 Range("B:B,D:E").Select |
対象となる列を指定しますが、離れているセルをカンマ(,)区切りで指定します。連続した列範囲は、コロン(:)で指定します。
※Rangeで2列目を選ぶ時は、Bだけではなく、B:Bと指定するので間違えないようにしましょう。
EntireColumnを使った対象セルによる列指定
1 2 3 4 |
'2列目、4~5列目を選択 Range("B1,D1:E1").EntireColumn.Select |
対象となるセルを指定しますが、離れているセルをカンマ(,)区切りで指定します。連続したセル範囲は、コロン(:)で指定します。