ある選択範囲を基準として他の選択範囲を指定したい場合には Offset プロパティが利用できます。ここでは、Offset プロパティの使い方について説明します。
Offset プロパティの使い方
Offset プロパティの構文は以下の通りです。
1 |
Rangeオブジェクト.Offset(行の移動値, 列の移動値) |
行の移動値はプラスが下方向、マイナスが上方向になります。列の移動値はプラスが右方向、マイナスが左方向になります。
選択位置を移動する
たとえば、セルA1から下に2、右に3移動した位置のセルを選択するには以下のように記述します。
1 |
Range("A1").Offset(2, 3).Select |
上のプログラムを実行するとセルD3が選択された状態になります。
マイナスを使った例を見てみましょう。
以下はセルE8から上に5、左に3移動した位置のセルを選択する例です。
1 |
Range("E8").Offset(-5, -3).Select |
上のプログラムを実行するとセルB3が選択された状態になります。
もしA列よりも左、1行目よりも上になるような値を指定した場合は、エラーになるので注意してください。
1 |
Range("A1").Offset(-2).Select |
範囲選択の位置を移動する
セルの範囲選択の場合も同様に Offset で処理できます。
1 |
Range("A1:C3").Offset(1, 1).Select |
Offset は移動を行うだけなので、選択範囲の大きさも元のセル範囲と同じになります。
現在の選択範囲を移動する:Selection
Selection を使うと現在選択されているセル範囲を取得することができます。
以下は、現在の選択範囲の2つ右の位置を選択する例です。
1 |
Selection.Offset(0, 2).Select |