- 公開日:
- 更新日:
Excel VBA(マクロ)を使って最終行を取得する方法
この記事では、Excel VBA(マクロ)を使って最終行を取得する方法をご紹介します。
最終行を取得(選択)する方法を学べば、「どこまでデータが入っているか」を確認することが出来るためVBAで様々な操作を自動化するコードを作成する際にも役立てることが出来ます。
以下では、「列を指定して最終行を選択する方法」や「空白がある場合に最終行を選択する方法」等についてもご紹介しています。
Excelを使った日付選択のマクロを無料でダウンロード!
Excelでカレンダーから日付を入力できるマクロを無料でダウンロードできます。コードを変更すれば、カレンダーの背景色や、今日の日付の色を変更したりとカスタマイズすることも可能です。
VBA(マクロ)を使って最終行を取得(選択)する方法
VBA(マクロ)を使って最終行を取得(選択)方法についてご紹介します。
VBAを使えばショートカットキーのCtrl + ↓(下矢印キー)の操作と同じく、最終行の取得(選択)が手軽にできるようになります。
例としては以下のようなコードを使用します。
Sub SelectLastLow()
Dim LASTROW As Long
LASTROW = Cells(1, 1).End(xlDown).Row
MsgBox LASTROW & " 行目が最終行です。"
End Sub
また、VBAを編集するには「開発タブ」の表示が必要になります。
開発タブはエクセルの初期設定では表示されていないため、以下の記事を参考にタブを表示させましょう。
最終行を取得する
表やデータが長くなってしまった場合に最終行を検索して、メッセージボックスで「○行目が最終行です。」と表示させるようにマクロを設定します。

今回は上の画像のようにA列に1から10の数字が並んだシートを使います。正しく設定できれば、最終行として10行目が取得されます。①開発タブ、②Visual Basicの順に選択します。

Microsoft Visual Basic for Applicationsダイアログボックスが開きます。①▼ボタン、②標準モジュールの順に選択します。

①上記「VBA(マクロ)を使って最終行を取得(選択)する方法」セクションを参考にコードを入力します。②▶ボタン(ユーザー フォームの実行)を選択します。

Excelに戻ると「10 行目が最終行です。」というメッセージボックスが表示されています。これでVBAを使って最終行を取得することが出来ました。
最終行を選択する
VBAを使って最終行のセルを選択する方法についてご紹介します。
列を指定して最終行を選択する方法
列を指定して最終行を選択する方法は以下の通りです。

今回はA列の最終行を選択する方法をご紹介します。
①開発タブ、②Visual Basicの順に選択します。

Microsoft Visual Basic for Applicationsダイアログボックスが開きます。
①▼ボタン、②標準モジュールの順に選択します。

①以下のコードを入力します。
Sub SelectLastLow()
Cells(1, 1).End(xlDown).Select
End Sub
今回はA列の最終行を選択するので「Cells(1, 1)」としますが、他の列の場合は任意で数字を変更しましょう。
②▶ボタン(ユーザー フォームの実行)を選択します。

Excelの画面に戻るとA列の最終行である「10行目」が選択されています。
アクティブセルの最終行を選択する方法
任意で選択したセルと同じ列の最終行を選択する方法については以下の通りです。

①任意のセル(例:B1セル)、②開発タブ、③Visual Basicの順に選択します。

Microsoft Visual Basic for Applicationsダイアログボックスが開きます。
①▼ボタン、②標準モジュールの順に選択します。

①以下のコードを入力します。
Sub SelectLastLow()
ActiveCell.End(xlDown).Select
End Sub
②▶ボタン(ユーザー フォームの実行)を選択します。

Excelの画面に戻ると、先ほど選択したB1セルの最終行である「10行目」が選択されています。
空白がある場合に最終行を選択する方法
表やデータに空白の行やセルがある場合に最終行を選択する方法をご紹介します。

上の画像のシートでは、A列の4行目から6行目が空白になっています。
通常このまま最終行を選択する設定を行うと、「3行目」が選択されてしまいます。
今回は空白行を含むA列の最終行(10行目)を選択する方法をご紹介します。
①任意のセル(例:A1セル)、②開発タブ、③Visual Basicの順に選択します。

Microsoft Visual Basic for Applicationsダイアログボックスが開きます。
①▼ボタン、②標準モジュールの順に選択します。

①以下のコードを入力します。
Sub SelectLastLow()
Cells(Rows.Count, 1).End(xlUp).Select
End Sub
②▶ボタン(ユーザー フォームの実行)を選択します。

Excelに戻ると空白セルを飛ばして10行目が選択されています。