Office Hack

Excel VBA(マクロ)を使って最終行を取得する方法

  • Release
  • Update

この記事では、Excel VBA(マクロ)を使って最終行を取得する方法をご紹介します。

最終行を取得(選択)する方法を学べば、「どこまでデータが入っているか」を確認することが出来るためVBAで様々な操作を自動化するコードを作成する際にも役立てることが出来ます。

以下では、「列を指定して最終行を選択する方法」や「空白がある場合に最終行を選択する方法」等についてもご紹介しています。

VBA(マクロ)を使って最終行を取得(選択)する方法

VBA(マクロ)を使って最終行を取得(選択)方法についてご紹介します。

VBAを使えばショートカットキーのCtrl + ↓(下矢印キー)の操作と同じく、最終行の取得(選択)が手軽にできるようになります。

例としては以下のようなコードを使用します。

Sub SelectLastLow()
 
 Dim LASTROW As Long
 
 LASTROW = Cells(1, 1).End(xlDown).Row
 MsgBox LASTROW & " 行目が最終行です。"
 
End Sub

また、VBAを編集するには「開発タブ」の表示が必要になります。

開発タブはエクセルの初期設定では表示されていないため、以下の記事を参考にタブを表示させましょう。

エクセルの開発タブを表示する方法

最終行を取得する

表やデータが長くなってしまった場合に最終行を検索して、メッセージボックスで「○行目が最終行です。」と表示させるようにマクロを設定します。

作業時間:1分

データを準備してVBAを開く
VBAを開く

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

標準モジュールを開く
標準モジュールを開く

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

コードを入力して実行する
コードを入力して実行する

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

最終行が取得される
最終行が取得される

Excelに戻ると「10 行目が最終行です。」というメッセージボックスが表示されています。これでVBAを使って最終行を取得することが出来ました。

最終行を選択する

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行目」が選択されています。

アクティブセルの最終行を選択する方法

任意で選択したセルと同じ列の最終行を選択する方法については以下の通りです。

セルを選択してVBAを開く

任意のセル(例: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行目が選択されています。