目次

xlUp

前回の投稿で、 End(xlDown) を使用して、 Excel のワークシートのデータ終端行を取得しましたが、今回は、 End プロパティの Direction に xlUp を指定して、データ終端行を取得してみます。

以下の画像のワークシートを準備してみました。

A 列に 1 ~ 3 の数字が入力されています。

このワークシートのデータ終端行は 3 になっています。

データの最終行を取得してみます。
データの最終行を取得してみます。

End(xlDown) を使用して、ワークシートのデータ終端を取得する方法は、以下の投稿で記載しています。

Excel VBA でデータ終端行を取得する。 End(xlDown) 使用。

目次まで戻る

マクロの一例

早速、データの終わりの行番号を取得するマクロを作成してみました。マクロの一例として御覧ください。

Sub データ終端行を取得するマクロ()

MsgBox Worksheets("Sheet1").Range("A65536").End(xlUp).Row

End Sub

上のマクロを実行すると、以下の画像のようにメッセージボックスが表示されました。

「3」と表示されているので、データの終わりの行番号を取得できたようです。

「3」と表示されています。
「3」と表示されています。

上のマクロの Range("A65536") の部分は私の使用している Excel 2003 の場合です。

Excel 2003 の場合、ワークシート自体の最大行が 65536 行までなので、 65536 行から上方向にジャンプ?してデータの終わりの行を取得しています。

A65536 番地のセルを選択して、キーボードのショートカットで Ctrl+↑ した時にデータの終わりまでジャンプすると思いますが、その動作を内部的に行っている感覚だと思います。

目次まで戻る

あとがき

最新版の Excel のワークシートの最大行は、 1,048,576 行まであるようです。

Excel の仕様と制限 - Excel
https://support.microsoft.com/ja-jp/office/excel-%E3%81%AE%E4%BB%95%E6%A7%98%E3%81%A8%E5%88%B6%E9%99%90-1672b34d-7043-467e-8e27-269d656771c3#ID0EBABAAA=%E6%96%B0%E3%81%97%E3%81%84%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3

今回作成したマクロの Range("A65536") の部分を Range("A1048576") とすれば同じように動作するのでしょうか。 100 万行。途方もない行数ですね。

以上閲覧ありがとうございました。

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿