要点まとめ
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 プロパティとの違いを学ぶとさらに理解が深まります。
