「上下のセル」「左右のセル」「2つ上のセル」「3つ右のセル」のように、任意のセルを基準として相対的な位置を指定して、セルを操作することができます。
このように任意のセルを指定するには、Range オブジェクトの Offset プロパティ を使います。
Offset プロパティの使い方
Offset プロパティは基準のセルから行や列を、移動する数を指定することで位置を指定することができます。
■ Offset プロパティの一覧

サンプルコード
■ コード内を「Wクリック」で選択できます。
Sub サンプル5313_1() <pre><code>Range("C4") = "基準" Range("C4").Offset(-1) = "上" Range("C4").Offset(1) = "下" Range("C4").Offset(, 1) = "右" Range("C4").Offset(, -1) = "左"</code></pre> 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列左のセルを指定
■ マクロの実行結果

サンプルコード
■ コード内を「Wクリック」で選択できます。
Sub サンプル5313_2() <pre><code>Range("B2") = "基準1" Range("B2").Offset(3, 2) = "基準1から3行下で2列右のセル" Range("B8:B9") = "基準2" Range("B8:B9").Offset(-1, 3) = "基準2から3行下で2列右のセル"</code></pre> 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 プロパティでセルを参照する」の説明を終わります。