VBAでの範囲指定(Rangeオブジェクトの利用)
VBAでの範囲指定について書きます。
VBAで
指定したセルの値を取得・設定する
指定した範囲のセルを繰り返し操作する
といった場合に範囲指定が必要になります。
VBAでセル範囲を指定するためには、Rangeオブジェクトを利用します。
VBAでセル範囲を指定する(Rangeオブジェクト)
1.A1形式での指定(単一セル)
2.A1形式での指定(複数セル)
3.R1C1形式での指定(複数セル)
4.現在選択しているセル範囲の指定
1.A1形式での指定(単一セル)
A1形式で単一のセルを指定する場合は、以下の通りにします。[サンプルソース]
Sub rangeTest1() MsgBox Range("A1").Value End Sub |
2.A1形式での指定(複数セル)
A1形式で複数のセル範囲を指定する場合は、以下の通りにします。[サンプルソース]
Sub rangeTest2() Dim rObj As Range Set rObj = Range("B2:C3") MsgBox rObj.Cells(1, 1).Value End Sub |
3.R1C1形式での指定(複数セル)
R1C1形式で複数のセル範囲を指定する場合は、以下の通りにします。マクロを組む場合は、この方法で指定することが最も多いのではないでしょうか。
[サンプルソース]
Sub rangeTest3() Dim rObj As Range Set rObj = Range(Cells(2, 2), Cells(3, 3)) MsgBox rObj.Cells(1, 1).Value End Sub |
4.現在選択しているセル範囲の指定
現在選択しているセル範囲を取得する場合は、以下の通りに記述します。[サンプルソース]
Sub rangeTest4() MsgBox ActiveCell.Cells(1, 1).Value End Sub |
同じ範囲を選択した状態で実行してみます。
以上です。