Offset プロパティでセルを参照する

「上下のセル」「左右のセル」「2つ上のセル」「3つ右のセル」のように、任意のセルを基準として相対的な位置を指定して、セルを操作することができます。

このように任意のセルを指定するには、Range オブジェクトの  Offset プロパティ を使います。

Offset プロパティの使い方

Offset プロパティは基準のセルから行や列を、移動する数を指定することで位置を指定することができます。

■ Offset プロパティの一覧

■ サンプル1

  ■ コード内を「Wクリック」で選択できます。

Sub サンプル5313_1()

    Range("C4") = "基準"
    Range("C4").Offset(-1) = "上"
    Range("C4").Offset(1) = "下"
    Range("C4").Offset(, 1) = "右"
    Range("C4").Offset(, -1) = "左"
     
End Sub

• Range("C4") = "基準"
 ’セルC4を基準のセルとします。
• Range("C4").Offset(-1) = "上"
 ’セルC4から1行上のセルを指定
• Range("C4").Offset(1) = "下"
 ’セルC4から1行下のセルを指定
• Range("C4").Offset(, 1) = "右"
 ’セルC4と同じ行の1列右のセルを指定
• Range("C4").Offset(, -1) = "左"
 ’セルC4と同じ行の1列左のセルを指定

●マクロの実行結果

■ サンプル2

  ■ コード内を「Wクリック」で選択できます。

Sub サンプル5313_2()

    Range("B2") = "基準1"
    Range("B2").Offset(3, 2) = "基準1から3行下で2列右のセル"
    Range("B8:B9") = "基準2"
    Range("B8:B9").Offset(-1, 3) = "基準2から3行下で2列右のセル"
     
End Sub

• Range("B2") = "基準1"
 ’セルB2を基準1のセルとします。
• Range("B2").Offset(3, 2) = "基準1から3行下で2列右のセル"
 ’セルB2から3行下で2行右のセルを指定
• Range("B8:B9") = "基準2"
 ’セルB8からB9を基準2のセルとします。
• Range("B8:B9").Offset(-1, 3) = "基準2から1行上で2列右のセル"
 ’基準2のセルから1行上で2行右のセルを指定

●マクロの実行結果

以上で「Offset プロパティでセルを参照する」の説明を終わります。