【実行結果】
行の選択にはSelectメソッドを使いますが、対象の連続した行を指定するには、3つの方法があります。
サンプルコードでは、2行目から6行目を選択状態にします。
Rangeを使った行の選択
Rangeはセルを扱う時によく使いますが、Rangeの引数で、選択する範囲の開始行と終了行をコロン(:)でつなぐと行を指定できます。
指定したら、Selectメソッドで選択状態にします。
コード
1 2 |
'2行目から6行目を選択 Range("2:6").Select |
解説
Range(“2:6”)なので、2行目~6行目が選択状態になります。
POINT
Rangeの引数は、ダブルクォーテーションで囲み、範囲をコロン(:)でつなぐ
Rangeの引数は、ダブルクォーテーションで囲み、範囲をコロン(:)でつなぐ
Rowsを使った行の選択
Rowsの引数で、選択する範囲の開始行と終了行をコロン(:)でつなぐと行を指定できます。
指定したら、Selectメソッドで選択状態にします。
コード
1 2 |
'2行目から6行目を選択 Rows("2:6").Select |
解説
Rows(“2:6”)なので、2行目~6行目が選択状態になります。
Rowsは行を意味するので、Rangeを使うよりもRows使った方が、パッと見で「行を選択しているな」とわかりやすいプログラムになります。
POINT
Rowsの引数は、ダブルクォーテーションで囲み、範囲をコロン(:)でつなぐ
(1行だけ選択する時は、ダブルクォーテーションで囲みません)
Rowsの引数は、ダブルクォーテーションで囲み、範囲をコロン(:)でつなぐ
(1行だけ選択する時は、ダブルクォーテーションで囲みません)
EntireRowを使った行の選択
EntireRowは、対象セルの行全体を返すので、A2:A6などセルを視点に行を選択できます。(先に紹介したRange、Rowsは行を視点)
EntireRowで取得した行を、Selectメソッドで選択状態にします。
コード
1 2 |
'2行目から6行目を選択 Range("A2:A6").EntireRow.Select |
解説
プログラムの意味は、次のようになります。
- Range(“A2:A6”)で、A2~A6のセル範囲を指定
- EntireRowは行全体を返すので、2行目~6行目を返す
- Selectで、EntireRow(2行目~6行目)を選択状態にする
ただ実際は、それほど使う機会はない書き方だと思うので、おまけ程度に知っていれば十分です。(ループ処理などと組み合わせることで使うことがありますが・・・)
その他テクニックは、次の記事を参考にしてください。

【VBA】行の選択とテクニック
【実行結果】
VBAで行を選択状態にする時は、Selectメソッドを使用します。
対象行を指定するには、RangeやRowなど3つの選択方法があります。
サンプルコードでは、2行目を選択状態にします。
Range...