オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel VBA エキスパート ベーシック】Offsetプロパティ、Resizeプロパティ (VBA入門18)

 

セル範囲を表すOffsetプロパティ、Resizeプロパティについて記載します。

 

Offsetプロパティとは

Offsetプロパティは指定したセルから移動する行数、列数を指定して、相対的にセルを参照することができます。

(1つのセルやセル範囲に対して、移動する行数、列数を指定し、移動後のセル・セル範囲を参照できます。)

 

構文

Rangeオブジェクト.Offset(行数,列数)

※行数には基準となるセルから何行移動するかを指定します。

※列数には基準となるセルから何列移動するかを指定します。

※移動しない行、列数は省略できます。例:1行下はOffset(1)、1列右はOffset(,1)

 

以下のコードを実行すると、セルB2から+1行、+1列移動したセルC3がアクティブセルになります。

f:id:auroralights:20201208225258p:plain

以下のコードを実行すると、セルB2から-1行、+5列移動したセル範囲G1:H3が選択されます。

f:id:auroralights:20201208225701p:plain

 

Offsetプロパティの行、列の考え方

基準となるセルに対して、行、列の指定の際の考え方は以下表のとおりです。

行については、正の数が下方向、負の数が上方向。列については、正の数が右方向、負の数が左方向となります。

f:id:auroralights:20201208230426p:plain

 

Resizeプロパティとは

Resizeプロパティは行数、列数を指定して大きさを変更したセル範囲を参照することができます。

 

構文

Rangeオブジェクト.Resize(行数,列数)

※行数には変更後の行数を指定します。

※列数には変更後の列数を指定します。

 

以下のコードを実行すると単一セルB2のサイズ(1行、1列)を2行、2列に変更したセル範囲が選択されます。

※単一セルは1行、1列とかんがえてください。

f:id:auroralights:20201208231706p:plain

f:id:auroralights:20201208231737p:plain

 

以下のコードを実行すると、セル範囲B2:C3のサイズ(2行、2列)を4行、4列に変更したセル範囲B2:E5が選択されます。

f:id:auroralights:20201208231956p:plain