Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAのRows.CountLargeとは

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2209 ビルド15629.20156 Microsoft Store)

「excel vba rows.CountLarge」
という検索で時折アクセスがあります。

「currentregion.rows.countlarge」
「vba UsedRange.Rows.CountLarge」
といった検索キーワードでのアクセスも見かけます。

[スポンサードリンク]

Rows.CountLargeを確認するサンプルマクロ

「Rows.CountLarge」が、何をする式なのかを確認しましょう。

ワークシートがアクティブな状態で、以下のExcelマクロを実行してください。

Sub RowsのCountとCountLargeを確認する
 MsgBox Rows.Count
 MsgBox Rows.CountLarge
End Sub

.xlsxファイルのワークシートがアクティブであれば、「1048576」がメッセージボックスに2回表示されます。

意味としては基本的に「Rows.CountLarge」は、「Rows.Count」と同じです。

行数(行を表すセルの個数)を取得する式(コード)です。

CountLargeを使う理由

Rowsプロパティで取得できる行を表すRangeオブジェクトの場合には、先ほどの「RowsのCountとCountLargeを確認する」Subプロシージャの実行結果からわかるように、Countプロパティでもオーバーフローしません。

Rowsの場合はCountプロパティを使っていて問題はありません。Rowsの場合、CountLargeプロパティを使わなければならない理由はありません。

しかし、そもそもRangeオブジェクトは、Excel VBAに用意されている大量のオブジェクトの中で、もっとも難易度の高いオブジェクトでもあります。そのため、個々のセルの個数でも行数でも、「何らかのセルの個数を取得する場合にはCountLargeを使う」と決めてしまっている方や組織はあるだろうと私は考えています。

また、セルの個数を取得する際に(理由はよくわからないけれど)Countプロパティではオーバーフローしてしまう場合があるから、Countは使わずCountLargeプロパティだけを使うようにしている、という方もいらっしゃるだろうと想像しています。

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

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAのRows.CountLargeとは

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

検索


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