VBA(マクロ)

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

ExcelVBA(マクロ)
Excel2

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

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

1つのセルを選択するサンプルコード

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

1Sub sample1()
2  Range("A1").select
3End sub

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

連続したセル範囲を選択するサンプルコード

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

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

離れたセルを複数選択するサンプルコード

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

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

Cellsを使ったセル選択サンプルコード

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

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

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

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

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

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

Cellsを使って複数セルを選択サンプルコード

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

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

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

すべてのセルを選択するサンプルコード

1Sub sample6()
2 Cells.Select
3End sub

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

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

行の選択サンプルコード

1Sub sample7()
2 Range("1:1").Select
3 Rows(1).Select
4 Range("1:1").Select
5End sub

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

記事URLをコピーしました