VBAでセルを選択状態にする時は、Selectメソッドを使用します。
対象セルの指定方法は、「Rangeによる方法」と、「RangeとCellsを組み合わせた方法」の2つがあります。
サンプルコードでは、セルB2~F4を選択状態にします。
Rangeを使ったセルの選択
Rangeプロパティで、選択する範囲の開始セル(左上)と終了セル(右下)を指定します。
対象セルを指定したら、Selectメソッドで選択状態にします。
コード
1 2 3 4 |
'B2~F4を選択 Range("B2:F4").Select |
1 2 3 4 |
'B2~F4を選択 Range("B2","F4").Select |
解説
選択する範囲は、2つの書き方ができます。
- 全体をダブルクォーテーションで囲み、コロンでつなぐ
- セル毎にダブルクォーテーションで囲み、カンマでつなぐ
どちらの書き方でも、セルB2~F4が選択状態になります。
注意すること
下のコードのように、全体をダブルクォーテーションで囲み、カンマでつなぐと、セルB2とF4だけが選択状態になってしまいます。
下のコードのように、全体をダブルクォーテーションで囲み、カンマでつなぐと、セルB2とF4だけが選択状態になってしまいます。
1 2 3 4 |
'B2~F4を選択 Range("B2,F4").Select |
RangeとCellsを組み合わせたセルの選択
ブログラムの処理の都合で、セルの場所をCellsで指定したい場合は、Rangeの引数をCellsで指定します。
ここでは「プログラムの処理の都合」と書きましたが、ループ処理でカウンタ変数iを使ってセルを操作している時などは、このCellsを使った指定方法が使いやすいことがあります。
対象セルを指定したら、Selectメソッドで選択状態にします。
この選択方法は、数値でセル位置を指定できるのがメリットです。
コード
1 2 3 4 |
'B2~F4を選択 Range(Cells(2, 2), Cells(4, 6)).Select |
解説
Cells(2, 2)がセルA2、Cells(4, 6)がセルF4なので、セルB2~F4が選択状態になります。
その他テクニックは、次の記事を参考にしてください。
https://excel-toshokan.com/vba-select-cell/