シートの行数や列数の取得
VBAでシートの行数や列数を取得したいことがあります。
ちなみに、Office2003までは行数は65536、列数は256、Office2007からは行数は1048576、列数は16384です。
以下のようにそれぞれ1行で取れます。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub GetRowColumnCount() Dim iMaxRow Dim iMaxColumn '// シートの行数を取得 iMaxRow = Rows.Count '// シートの列数を取得 iMaxColumn = Columns.Count Debug.Print "シートの行数=" & iMaxRow Debug.Print "シートの列数=" & iMaxColumn End Sub |
シートの行数や列数の定数
Office2000ぐらいのときには行数65536や列数256の定数があった気がするのですが、Office2003あたりからのバージョンでは見なくなりました。
将来Officeのバージョンが上がって行数と列数が増えることを想定して定数から削除もしくは隠蔽したのかもしれません。
そのため、行数と列数は上のソースコードの方法で取得するしかなさそうです。
上にも書きましたが、Office2003までは行数は65536、列数は256、Office2007からは行数は1048576、列数は16384です。
この数字は2のべき乗が設定されており、65536=2の16乗、256=2の10乗、1048576は2の20乗、16384は2の14乗です。