セルの移動Offset

 

構文
Range.Offset(RowOffset, ColumnOffset)

日本語訳

Rangeオブジェクト.Offset(行方向, 列方向

 

Sub test1()

’ 選択するセルをA1からA2へ移動

 

  Range("A1").Offset(1, 0).Select

 

End Sub

 

行や列方向へ移動するセルの数をカッコに入れてあげれば、選択するセルが変わります。上のtest1では、元のセルA1から、1行下のセルA2へ移動することになります。.

 

 Range("A1").Offset(1,0).Select  Range("A1").Offset(1).Select

 

 Range("A1").Offset(0,1).Select  Range("A1").Offset(,1).Select

 

 カッコなか移動しない方向を意味するゼロを省略可能ですが、可読性が下がるため、個人的には勧めしません。

 

 

行列両方向同時移動の場合

 

Sub test2()

’ 選択するセルをA1からC3へ移動

 

  Range("A1").Offset(2, 2).Select

End Sub

 

※ Offsetで移動する際、隣や移動する方向に結合セルがあるとき、1つ移動するのに、すぐとなりのセルになるとは限らないです。結合セルが1つのセルとみなされたからです。

 

セルの移動操作Offsetは、非常に便利で、実務ではResizeと組み合わせて使うのが多く、とても重宝されます。ぜひマスターしましょう。

 

 

 

関連記事 

 

─ VBA セルの選択

─ VBA オートフィルターメソッド

─  VBA 可視セルのコピペ

─ VBA セルの値の取得

─ VBA セルの値のコピー・貼り付け

─ VBA セルのクリア

─ VBA セルの削除

─  VBA セルのアドレス取得

─ VBA セル選択範囲の変更 Resizeプロパティ

 

 

 

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る