Offset マクロ(VBA)
今回はマクロ(VBA)にて「変数を用いてセル範囲指定を移動する際に便利なOffsetプロパティ」について解説します。
Offset(数値1, 数値2)
指定しているセル範囲から数値1行・数値2列分移動した位置にあるセル範囲を操作対象とするプロパティです。
具体例を挙げて解説します。
コード文を下記とします。
ActiveCell.Offset(1).Select
このコードはマクロを動かす前のセルの位置から一つ下の行を選択するVBAコードです。
となります。
行だけでなく列も移動させることが出来ます。
列のみを移動させます。
コード文は下記とします。
ActiveCell.Offset(, 1).select
上記とは違い、列のみを移動させます。
(結果表示は省略)
列を移動させて値を代入するときは次のようにします。
ActiveCell.Offset(, 1).Value = 14
このようにすると移動した列の値に「14」が入ります。
このように右隣のセルに「14」が入力されます。
セル範囲の移動
コード文は下記とします。
Range("A1:C3").Offset(3, 1).Select
この操作対象が移動して下記になります。
セル範囲(今回は3×3のセル範囲)が移動していることがわかります。
余談
Offset(数値1, 数値2)
数値には負の値が入った場合も正常に動きます。
(行(数値1)の場合は上に、列(数値2)の場合は左に動きます。)
実際にやってみます。
コード文は下記とします。
ActiveCell.Offset(-3, -1).Select
このように移動します。
Offsetプロパティの解説は以上です。
今後はプロパティを組み合わせた使い方等も紹介していきますので、読者登録よろしくお願いいたします。
ここまで読んで頂き、ありがとうございました。