- Home ›
- Excel VBA入門 ›
- Rangeオブジェクトの取得 ›
- HERE
指定したオフセットだけ移動したセルの取得
広告
基準となるセルの位置から指定したオフセット分だけ移動したセルを取得する方法を見ていきます。行方向と列方向へそれぞれオフセットを指定します。
取得するには基準の位置となるRangeオブジェクトに対して「Offset」プロパティを使います。
Dim range1 As Range Set range1 = Range("A1").Offset(RowOffset:=3, ColumnOffset:=3)
「Offset」プロパティを参照するとRangeオブジェクトを取得できます。「Offset」プロパティの引数には省略可能な2つの引数を指定します。「RowOffset」には行方向のオフセットを「ColumnOffset」には列方向のオフセットをそれぞれ正又は負又は0で指定します。デフォルトは0です。
サンプルプログラム
では簡単なサンプルで試してみましょう。
次のようなワークシートを用意します。
セルC3を基準として、行方向に1、列方向に2だけずらした位置のセルを取得してみます。
Sub テスト() Dim range1 As Range Set range1 = Range("C3").Offset(RowOffset:=1, ColumnOffset:=2) range1.Interior.ColorIndex = 3 End Sub
上記のマクロを実行すると次のようになります。
( Written by Tatsuo Ikura )