VBA EXCEL&VBA

VBAの Rows.Countの使い方

VBARows.Count はとても便利なオブジェクト式です。
シート自体の最大行数はもちろん、データが入っている行の最終行を求める時にも使えます。

今回は、Rows.Count の使い方をピックアップします。
しっかりマスターして使いこなしてください。



Rows.Countの使い方

Rows.Count

まず、Row.Count というオブジェクト式単体では エクセルシートの最大行数を返します。
例えば、以下のようなコマンドを記述します;

Sub count_gyo()
  MsgBox Rows.Count
End Sub

このコマンドを実行するとシート上に表示されるのは、シートの最大行数である 1,048,576です。


▲シートの最大行数が表示された

ちなみに、シートの最大行数は Excel2003であれば 65,536行、Excel2007以降であれば 1,048,576行となります。

Rows.Countの応用

シートの最大行数を持った Rows.Countを応用すると、表にデータの入っている最終行を取得することができます。

Cells(Rows.Count, 1).End(xlUp).Row

この Cells(Rows.Count, 1) は、A列の最終行のセルを指します。セルでいうと A1048576 のことです。

ここから Endモードで一気にデータが入っている行まで上にジャンプするのが .End(xlUp)ということ。
末尾の .Row が「そのセルの行」という意味で、つまり データの入力されている最終行 ということになります。

Rows.Countの実践的使用例

ここでは実践的な使用例を紹介します。下のような サンプルを用意しました。

上の表でデータの入っている最終行をVBAを使って求めます。

'*********************************************************
'   データ最終行の取得  Get_LASTROW
'*********************************************************
Sub Get_LASTROW()
  Dim LASTROW As Long  ' データの最終行の変数
  ' A列の最終行を取得する
  LASTROW = Cells(Rows.Count, 1).End(xlUp).Row
  MsgBox LASTROW & " 行目が最終行です。"
End Sub
'-----------------<< End of Source >>------------------

▲コピペして試してみてください

上のサンプルは、LASTROW という変数に データの最終行番号を代入して、メッセージボックスに表示するコードです。

このマクロを実行すると、「6行目」と正しく最終行を返します。


▲データの最終行が表示された!

以上で『VBARows.Countの使い方』は終了です。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告

VBAで最終行を取得する方法と そこからできること|Excel VBA
VBA・最終行
VBAで最終行を取得する方法を解説。最終行の行番号を取得できることにより最終行の削除や、最終行までセルを選択したり繰り返したり色々なことが可能になります。





-VBA, EXCEL&VBA
-