VBA入門
RangeのResizeプロパティ

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
公開日:2013年5月以前 最終更新日:2021-10-22

第82回.RangeのResizeプロパティ


Resizeプロパティは、指定されたセル範囲(Rangeオブジェクト)のサイズを変更します、
そして、サイズが変更されたセル範囲(Rangeオブジェクト)を返します。


サイズ変更は、縦方向の行数、横方向の列数の両方またはどちらか一方を指定できます。
Resizeは、マクロVBAでは習得必須のRangeのプロパティになります。


Resizeプロパティの構文

Range.Resize(RowSize, ColumnSize)

RowSize

新しい範囲の行数を指定します。
この引数を省略すると、新しい行数は変更する前と同じ行数になります。
指定する場合は、1以上の整数を指定してください。

ColumnSize

新しい範囲の列数を指定します。
この引数を省略すると、新しい列数は変更する前と同じ列数になります。
指定する場合は、1以上の整数を指定してください。


名前付き引数ですが、2つだけなので通常は名前付きを使用するまでもありません。
戻り値
サイズ変更後のRangeオブジェクトになります。


Resizeの使用例

Range("A1").Resize(3, 3).Select
A1セルを3行3列の範囲に変更し、A1:C3セル範囲にしています。

Range("A1:A3").Resize(, 3).Select
A1:A3セル範囲を、3列に変更し、A1:C3セル範囲にしています。

Range("A1:C1").Resize(3).Select
A1:C1セル範囲を、3行に変更し、A1:C3セル範囲にしています。

Resizeのネスト
Range("A1").Resize(3).Resize(, 3).Select
これと、
Range("A1").Resize(3, 3).Select
これの結果は同じになります。

セル範囲を指定する場合のResizeの便利な使い方
Dim i As Long, j As Long
i = 3
j = i + 10
Range(Cells(i, 1), Cells(i, j)).Select

これはResizeを使って以下のように書き直すことができます。

Dim i As Long, j As Long
i = 3
j = i + 10
Cells(i, 1).Resize(, j).Select

どちらも大きな違いはありませんが、Resizeを使うとVBAの記述が短くて済む場合が多くなります。


Resizeのまとめ

Resizeは、非常に重宝するプロパティです。
使い方は簡単なので、ぜひしっかりと習得してください。
以下のページも参考にしてください。
Offset、Resizeを使いこなそう
・OffsetプロパティとResizeプロパティの構文 ・OffsetとResizeの基本 ・Offsetの注意点 ・OffsetとResizeの応用 ・OffsetやResizeでVBAが簡潔になる例

Rangeのプロパティは非常に沢山あります。
マクロVBA入門で重要なプロパティは一通り紹介していますが、他のプロパティにも目を通しておくと良いでしょう。
Rangeのプロパティ一覧 ・・・ 詳細解説ページへのリンクあり
・Excel2010までのRangeオブジェクトのプロパティ一覧 ・Excel2016で追加されたRangeオブジェクトのプロパティ一覧 ・スピルにより追加されたRangeオブジェクトのプロパティ一覧




同じテーマ「マクロVBA入門」の記事

第79回.ファイル操作Ⅰ(Dir)
第80回.ファイル操作Ⅰ(その他)
第81回.総合練習問題9
第82回.RangeのResizeプロパティ
第83回.RangeのOffsetプロパティ
第84回.RangeのAddressプロパティ
第85回.結合セルの扱い
第144回.スピルとVBA(Formula2とスピル範囲の取得)
第86回.総合練習問題10
第88回.並べ替え(Sort)
第89回.オートフィルター(AutoFilter)


新着記事NEW ・・・新着記事一覧を見る

Excelの新機能「リストとセル内配列」:1つのセルに複数の値|エクセル入門(2026-09-28)
Excel関数クロスワード(2026-09-26)
Excelショートカットキークイズ(2026-09-23)
Excel関数名クイズ(2026-09-21)
気ままに一手|リレー将棋(2026-09-20)
ITエンジニアがトラブルを避けるための法律・契約入門|エクセル雑感(2026-09-18)
ITエンジニアなら知らないと恥ずかしい数学20選|エクセル雑感(2026-09-17)
ITエンジニアのための税金と社会保険のお話|エクセル雑感(2026-09-15)
ITエンジニアのための経理・会計・簿記入門|エクセル雑感(2026-09-12)
「Python in Excel」入門:コードを読むための基礎知識|エクセル関数応用(2026-09-10)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.Excelショートカットキー一覧|Excelリファレンス
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.マクロとは?VBAとは?VBAでできること|VBA入門
8.繰り返し処理(For Next)|VBA入門
9.メッセージボックス(MsgBox関数)|VBA入門
10.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ