Excel VBA | 「基準セルからの相対位置」を指定する(Offset プロパティ)

VBA
スポンサーリンク

要点まとめ

Excel VBAで「基準となるセルから、指定した行・列だけずらしたセルを取得する方法」を学ぶページです。キーワードは Offset プロパティ です。


基本の考え方

  • Range("A1") のようにセルを指定した後、Offset を使うと「そこから何行・何列ずらした位置のセル」を取得できます。
  • ずらす量は 行方向(RowOffset)列方向(ColumnOffset) の2つで指定します。
    • RowOffset → 上下方向(行)
    • ColumnOffset → 左右方向(列)
  • どちらも 正の数なら下/右へ移動、負の数なら上/左へ移動
  • 省略すると 0(移動なし) になります。

サンプルコード

Sub テスト()
    Dim range1 As Range
    ' C3セルから、1行下・2列右のセルを取得
    Set range1 = Range("C3").Offset(RowOffset:=1, ColumnOffset:=2)
    
    ' 取得したセルの背景色を赤にする
    range1.Interior.ColorIndex = 3
End Sub
VB

この例では、C3セルを基準にして「D4セル」を取得し、赤色に塗りつぶしています javadrive.jp


ポイント整理

  • Offset は「基準セルからの相対位置」を指定するための道具
  • 行と列のずらし量を数値で指定するだけなのでシンプル。
  • 例えば「上に2行、左に1列」なら Offset(-2, -1)
  • 取得したセルは通常の Range と同じように操作可能(色を変える、値を入れるなど)。

初心者へのアドバイス

  • まずは「基準セルを決める → Offset でずらす → そのセルに操作する」という流れを覚えると便利。
  • ループ処理と組み合わせると「基準から一定間隔でセルを処理する」など応用が広がります。

こうした「相対的にセルを指定する」方法は、Excel VBAでの自動化にとても役立ちます。
次は Cells プロパティとの違いを学ぶとさらに理解が深まります。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました