VBA(マクロ)

[ExcelVBA]範囲選択する方法 / Range

ExcelVBA(マクロ)

マクロで範囲選択するサンプルコード

VBAで操作する際には、対象範囲の指定が必要です。1つのセルだったり、複数セルや表全体、行、列などいろいろな範囲選択の方法を説明します。

以下は色々な範囲選択の方法のサンプルコードです。

1つのセルを選択する

以下の内容をコードに入力し、実行してみます。

Sub sample1()
  Range("A1").select
End sub

実行するとセルA1のみが選択されます。

連続したセル範囲を選択する

Sub sample2()
  Range("A1:C4").select
End sub

実行するとA1からC4までが選択されます。

離れたセルを複数選択する

Sub sample3()
  Range("A1:C4,E3:G9").select
End sub

実行するとA1からC4、E3からG9までの複数のセルが選択されます。

Cellsを使ったセル選択

Sub sample4()
 Cells(2,4).select
End sub

実行するとセルD2が選択されます。

Cells(2,4).selectRange("D4")は同じ意味です。

Cellsを使ってもRangeを使ってもセルの選択はできます。
違いは、Rangeは通常使用しているセル番地をそのままでいいのに対し、Cellsは行番号、列番号を数字だけで指定します。
A列=1、B列=2、C列=3、、、

数字の指定なので "" (ダブルクォーテーション)は不要です。

通常使うセル番地の列と行を逆に指定するので注意が必要です。

Cellsを使って複数セルを選択

Sub sample5()
 Range(Cells(1, 1), Cells(3, 4)).select
End sub

Cellsを使って連続した複数セルを選択する場合は、Rangeを併用します。
Rangeの中で、選択したい最初のセルと最後のセルを , (カンマ)区切りで指定します。

通常はRangeを使用することが多いですが、Cellsを使用することのメリットは、列を数字で指定するので変数が使用できる点です。

すべてのセルを選択する

Sub sample6()
 Cells.Select
End sub

実行するとすべてのセルが選択されます。

すべてのセルを選択する場合は、RangeではなくCellsを使用します。

行の選択

Sub sample7()
 Range("1:1").Select
 Rows(1).Select
 Range("1:1").Select
End sub

上記はどれを使っても1行目が選択されます。