Home » ExcelVBA Rangeオブジェクト » 行数と列数でセル範囲を取得-Resizeプロパティ

行数と列数でセル範囲を取得-Resizeプロパティ

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「excel vba 行数と列数で範囲を選択する」
という検索キーワードに気づきました。

いろいろな書き方が考えられますが、おすすめしたいのはRangeオブジェクトのResizeプロパティです。

[スポンサードリンク]

Range.Resizeプロパティの動きを確認するサンプルマクロ

簡単なSubプロシージャで、RangeオブジェクトのResizeプロパティの動きを確認してください。
Sub Resizeプロパティの確認()
 ActiveCell.Resize(2, 5).Select
End Sub

上記のSubプロシージャを実行すると、アクティブセルを起点にして、2行・5列のセル範囲が選択されます。

「ActiveCell.Resize(2, 5)」で、アクティブセルを起点に2行・5列のセル範囲を表すRangeオブジェクトを取得して、RangeオブジェクトのSelectメソッドで選択を行っています。

Range.Resizeプロパティの引数

Range.Resizeプロパティの引数は2つで、第1引数が行数、第2引数が列数です。

オブジェクトブラウザー:Range.Resize

上記のオブジェクト式「ActiveCell.Resize(2, 5)」の数値を変更してから実行すると、引数の意味を確認できるでしょう。

.Resizeの前はRangeオブジェクトを取得する式

ここでご紹介しているResizeは、Rangeオブジェクトに用意されているプロパティで、上位のオブジェクト式を省略できるグローバルメンバーではありませんから、「.Resize」の前は、必ずRangeオブジェクトを取得する式である必要があります。

例えば、
  Range("G7").Resize(2, 5).Select
や、
  Cells(7, 7).Resize(2, 5).Select
を実行すると、G7セルを起点に、2行・5列ですから、G7:K8セルが選択されます。

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 行数と列数でセル範囲を取得-Resizeプロパティ

「ExcelVBA Rangeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.