関数

Last-modified: 2007-02-25 (日) 20:56:49
 

OFFSET関数とOffsetプロパティ

ワークシートで使うOFFSET関数とVBAのOffsetプロパティはどちらも相対的にセル範囲を参照するが、使い方が少し違う。
OFFSET関数のほうは、

OFFSET(基準,行数,列数,高さ,幅)

と高さと幅を指定できるのに対し、プロパティのほうは、

object.Offset(行数,列数)

と、とてもシンプル。objectは関数の基準にあたる部分。高さと幅はOffsetでは指定できないので、Resizeプロパティを使う。
例えば、

OFFSET($H$1:$H$3,0,-1,3,1)

という関数をVBAのコードにすると

Range("$H$1:$H$3").Offset(0,-1).Resize(3,1)

になる。結果はどちらもRange("$G$1:$G$3")を表している。