第83回.RangeのOffsetプロパティ
Offsetプロパティは、指定されたセル範囲(Rangeオブジェクト)をオフセット(移動)します、
オフセット(移動)したセル範囲を表すRangeオブジェクトを返します。
Offsetプロパティで取得されるのは、元のRange範囲を、指定した行数・列数移動したRange範囲になります。
Offsetは、マクロVBAでは習得必須のRangeのプロパティになります。
Offsetプロパティの構文
RowOffset |
オフセットする範囲の行数 (正、負、または 0) を指定します。 |
ColumnOffset |
オフセットする範囲の列数 (正、負、または 0) を指定します。 |
名前付き引数ですが、名前付きを使用するまでもないでしょう。
戻り値
Offsetの使用例
これと
Range("A1").Offset(3, 3).Select
これの結果は同じになります。
Offsetの注意点
MsgBox Range("A2").Offset(1).Address
この結果は、"$A$3"になる場合と、違う結果になる場合があります。
A2セル~A4セルがセル結合されている場合、

$A$5
となります。
セル結合内部から移動する場合は、結合範囲は一つとして数えます。
しかし、結合範囲外からの場合、
Debug.Print Range("A1").Offset(2).Address
この結果は、
$A$3
となります。
セル結合外部から移動する場合は、セル結合の影響をうけません。
Debug.Print Range("A1").Offset(2).Address
Debug.Print Range("A1").Offset(1).Offset(1).Address
結果は、
$A$3
$A$5
となります。
前者は、セル結合外部からの移動であり結合の影響をうけません。
後者は、最初の.Offset(1)が結合内部になるので結合の影響を受けます。
A1セル~C3セルが結合されている場合、
MsgBox Range("A1").Offset(1).Address
この結果は、"$D$1"になります。
Offsetのまとめ
使い方は簡単なので、ぜひしっかりと習得してください。
Offset、Resizeを使いこなそう
Rangeのプロパティは非常に沢山あります。
マクロVBA入門で重要なプロパティは一通り紹介していますが、他のプロパティにも目を通しておくと良いでしょう。
Rangeのプロパティ一覧 ・・・ 詳細解説ページへのリンクあり
同じテーマ「マクロVBA入門」の記事
第80回.ファイル操作Ⅰ(その他)
第81回.総合練習問題9
第82回.RangeのResizeプロパティ
第83回.RangeのOffsetプロパティ
第84回.RangeのAddressプロパティ
第85回.結合セルの扱い
第86回.総合練習問題10
第88回.並べ替え(Sort)
第89回.オートフィルター(AutoFilter)
第90回.フィルターオプションの設定(AdvancedFilter)
第91回.条件付き書式(FormatCondition)
新着記事NEW ・・・新着記事一覧を見る
ピッボットテーブルって便利だよね|還暦のVBA(2021-10-18)
還暦のVBA:VBAまでたどりつけるか… (2021-09-29)
VLOOKUPを使うことを基本としてシートを設計すべきか|エクセル雑感(2021-08-17)
コンピューターはブラックボックスで良い|エクセル雑感(2021-08-14)
小文字"abc"を大文字"ABC"に変換する方法|エクセル雑感(2021-08-13)
ADOでテキストデータを集計する|VBAサンプル集(2021-08-04)
VBA学習のお勧めコース|エクセル雑感(2021-08-01)
エクセル馬名ダービー|エクセル雑感(2021-07-21)
在庫を減らせ!毎日棚卸ししろ!|エクセル雑感(2021-07-05)
日付型と通貨型のValueとValue2について|エクセル雑感(2021-06-26)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.Excelショートカットキー一覧|Excelリファレンス
3.RangeとCellsの使い方|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロって何?VBAって何?|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.並べ替え(Sort)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。