「エクセル rows.countとは」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。
Excel VBAのマクロなどに登場する「Rows.Count」というオブジェクト式が、何を意味しているのかを調べていた方による検索キーワードです。
「vba rows.count 型」
という検索でのアクセスもありますが、こちらも「Rows.Count」の意味がわかってらっしゃらないはずです。
Rowsプロパティはグローバルのメンバー
「Rows.Count」というオブジェクト式で使われているRowsプロパティは、WorksheetオブジェクトやRangeオブジェクトに用意されているプロパティですが、オブジェクトブラウザーで確認できるとおりグローバルなメンバーですから、
上位のオブジェクト式を省略して、いきなり「Rows.」と書き始めることができます。
「Range("A1").」「Cells(1, 1).」といきなり書かれている場合に、アクティブなWorksheetオブジェクトのRangeプロパティ・Cellsプロパティが指定されたとみなされるのと同じように、いきなり「Rows.」と書かれている場合、アクティブなWorksheetオブジェクトのRowsプロパティとみなされます。
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プロパティですから、
Long(長整数型)です。
Range(セル範囲).Rows.Countの意味
RangeオブジェクトのRowsプロパティの場合を確認しましょう。
例えば、「Range("A2:G20").Rows.Count」というオブジェクト式を、キーワード単位まで分解すると、下図のような意味です。
この例は「Range("A2:G20").」という固定のセル範囲ですから、言うまでもなく必ず「19」が返されます。
ActiveCell.CurrentRegion.Rows.Countの意味
アクティブセル領域の行数を取得する「ActiveCell.CurrentRegion.Rows.Count」というオブジェクト式を、キーワード単位まで分解すると、下図のような意味です。
同じRangeオブジェクトのRowsプロパティを使っている例ですが、先の「Range("A2:G20").Rows.Count」とは違い、「ActiveCell.CurrentRegion.Rows.Count」の場合は、アクティブセル領域の行数によって、もちろん返される行数は変化します。
最終更新日時:2022-10-18 10:25
- Newer:VBAで選択図形の名前を取得する
- Older:VBAでグラフの凡例を削除する
Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Rows.Countとは