【VBA】Resize・Offsetの使い方【セル範囲・セル位置の変更】

VBA

本記事では『Resizeプロパティ』『Offsetプロパティ』の使い方をざっくり解説します。

これらのプロパティはRangeオブジェクトを使いこなすには必須で、覚えるとかなり便利なモノなので、ぜひ覚えていってください。

スポンサーリンク



Offsetプロパティの使い方

まずはOffsetプロパティの簡単な解説をします。

Offsetプロパティ”指定した起点から、引数で指定した行数・列数分、セル位置を移動させる”ためのプロパティです。

Offsetプロパティの書式

Offsetプロパティの書式は下の通りです。

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

引数 意味
行数 「下方向(もしくは上方向)に移動する行数」を指定する
列数 「右方向(もしくは左方向)に移動する列数」を指定する

 

Offsetプロパティの参考コード

下はOffsetプロパティを使った参考コードです。

上のコードでは「セルA1を起点に下に2行・右に3列分移動したセルの値」を取得します。

※基準位置は「Offset(0, 0)」です。

 

例えば、下の表を対象に上のコードを実行した場合は”6”が出力されます。

 

Resizeプロパティの使い方

次にResizeプロパティについて簡単に解説します。

Resizeプロパティ”すでに選択したセル範囲を、新しく行数・列数を指定して変更する”ためのプロパティです。

Resizeプロパティの書式

Resizeプロパティの書式は下の通りです。

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

引数 意味
行数 「新しい範囲の行数」を指定する
列数 「新しい範囲の列数」を指定する

 

Resizeプロパティの参考コード

下はResizeプロパティを使った参考コードです。

上では「セルB2~B3の選択範囲から、下方向に1行・右方向に2行分拡張して変更する」といったコードになっています。

下が実行した後のイメージになります。

 

本記事で紹介した2つのプロパティの実用的な使い方は下の記事を参考にしてみてください。

【VBA】CurrentRegionの使い方【空白を識別して範囲指定する】
VBAでの『CurrentRegion』は”空白のセルで囲まれた範囲を読み取り、参照する”ためのプロパティです。 このプロパティでセル範囲を選択すれば、選択したい行や列が増えたとしても、「空白のセルで囲む範囲」という特性によっ...

 

〇おすすめのVBA参考書ランキング!

1位

2位

3位

Excel VBA 脱初心者のための集中講座パーフェクトExcel VBAExcelVBA 実戦のための技術
初心者~中級者中級者初心者~中級者
【初心者が手に取るべき参考書】

・「書籍+動画」で圧倒的に理解しやすい入門書になっている。

・丁寧で詳しい解説でボリューム感がある。

【より深い理解をしたい方にお勧めな参考書】

・テーマに対して丁寧な解説・適度な深さで解説されている。

・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。

【入門書と一緒に買うべき参考書】

・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。

・実践的で効果的なコードの書き方が理解できる。

【読んでみた一言】
正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。
【読んでみた一言】
深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。
【読んでみた一言】
基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。

¥2,794円
amazonで確認!

¥3,608円
amazonで確認!

¥2,640円
amazonで確認!

スポンサーリンク