Home » ExcelVBA Rangeオブジェクト » 行・列を表すRange » Rows.Countとは

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「エクセル rows.countとは」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。

Excel VBAのマクロなどに登場する「Rows.Count」というオブジェクト式が、何を意味しているのかを調べていた方による検索キーワードです。

「vba rows.count 型」
という検索でのアクセスもありますが、こちらも「Rows.Count」の意味がわかってらっしゃらないはずです。

[スポンサードリンク]

Rowsプロパティはグローバルのメンバー

「Rows.Count」というオブジェクト式で使われているRowsプロパティは、WorksheetオブジェクトやRangeオブジェクトに用意されているプロパティですが、オブジェクトブラウザーで確認できるとおりグローバルなメンバーですから、

Rows.Countとは

上位のオブジェクト式を省略して、いきなり「Rows.」と書き始めることができます。

「Range("A1").」「Cells(1, 1).」といきなり書かれている場合に、アクティブなWorksheetオブジェクトのRangeプロパティ・Cellsプロパティが指定されたとみなされるのと同じように、いきなり「Rows.」と書かれている場合、アクティブなWorksheetオブジェクトのRowsプロパティとみなされます。

Rows.Countの意味

「Rows.Count」というオブジェクト式を、キーワード単位まで分解すると、下図のような意味です。

Rows.Countとは

Excel 2007以降の形式のブックならワークシートの行数は「1,048,576」(2の20乗)ですから、Rows.Countというオブジェクト式で「1048576」が返され、Excel 97-2003形式のブックならワークシートの行数は「65,536」(2の16乗)ですからRows.Countというオブジェクト式で「65536」が返されます。

「vba rows.count 型」
という検索をなさった方が調べていた、戻り値のデータ型は、結局RangeオブジェクトのCountプロパティですから、

Rows.Countとは

Long(長整数型)です。

Range(セル範囲).Rows.Countの意味

RangeオブジェクトのRowsプロパティの場合を確認しましょう。

例えば、「Range("A2:G20").Rows.Count」というオブジェクト式を、キーワード単位まで分解すると、下図のような意味です。

Rows.Countとは

この例は「Range("A2:G20").」という固定のセル範囲ですから、言うまでもなく必ず「19」が返されます。

ActiveCell.CurrentRegion.Rows.Countの意味

アクティブセル領域の行数を取得する「ActiveCell.CurrentRegion.Rows.Count」というオブジェクト式を、キーワード単位まで分解すると、下図のような意味です。

Rows.Countとは

同じRangeオブジェクトのRowsプロパティを使っている例ですが、先の「Range("A2:G20").Rows.Count」とは違い、「ActiveCell.CurrentRegion.Rows.Count」の場合は、アクティブセル領域の行数によって、もちろん返される行数は変化します。

最終更新日時:2022-10-18 10:25

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 行・列を表すRange » Rows.Countとは

「行・列を表すRange」の記事一覧

検索


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

.