指定したオフセットだけ移動したセルの取得

基準となるセルの位置から指定したオフセット分だけ移動したセルを取得することができます。行方向と列方向へそれぞれオフセットを指定できます。ここでは Excel VBA で指定したオフセットだけ移動したセルを取得する方法について解説します。

(Last modified: )

指定したオフセットだけ移動したセルを取得する

取得するには基準の位置となるRangeオブジェクトに対して「Offset」プロパティを使います。

Dim range1 As Range

Set range1 = Range("A1").Offset(RowOffset:=3, ColumnOffset:=3)

「Offset」プロパティを参照するとRangeオブジェクトを取得できます。「Offset」プロパティの引数には省略可能な2つの引数を指定します。「RowOffset」には行方向のオフセットを「ColumnOffset」には列方向のオフセットをそれぞれ正又は負又は0で指定します。デフォルトは0です。

サンプルプログラム

では簡単なサンプルで試してみましょう。

次のようなワークシートを用意します。

Offsetプロパティ

セルC3を基準として、行方向に1、列方向に2だけずらした位置のセルを取得してみます。

Sub テスト()

    Dim range1 As Range

    Set range1 = Range("C3").Offset(RowOffset:=1, ColumnOffset:=2)
    range1.Interior.ColorIndex = 3

End Sub

上記のマクロを実行すると次のようになります。

Offsetプロパティ

-- --

Excel VBA で指定したオフセットだけ移動したセルを取得する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。