シート内に入力されている最終行を取得するマクロを作成します。

空白行があれば、空白行の手前の行が取得できます。


シートの最終行を取得するマクロ

VBA入力画面
VBA入力画面

入力したコードです。

Sub Myシートの最終行()
    Dim ln As Long
    
    Range("A1").Select
    Selection.CurrentRegion.Select
    ln = Selection.Rows.Count
    
    Range("A1").Select
    MsgBox "シートの最終行:" & ln
End Sub

プログラムの説明


Subプロシージャの宣言
Sub Myシートの最終行()
変数を宣言
Dim ln As Long
A1セルを選択
Range("A1").Select
アクティブセル領域を選択する
Selection.CurrentRegion.Select
選択領域の行数を取得
ln = Selection.Rows.Count
A1セルを選択
Range("A1").Select
結果をMsgBoxで表示
MsgBox "シートの最終行:" & ln
プロシージャの終了
End Sub

シートの最終行取得マクロの実行画面

このシートに入力されている最終行は15行目なので、「シートの最終行:15」と表示されました。
シートの最終行を求める画面

C列16行目に”ここが最終”と入力すると、このシートに入力されている最終行は16行目になるので、「シートの最終行:16」と表示されました。
最終行びデータを入力

3行目に空白行を挿入すると、空白行の手前が最終行となるので最終行は2行目になり、「シートの最終行:2」と表示されます。
空白行を挿入

Excelマクロのサンプルファイル:フリーダウンロード








Copyright (C) excel.usefulhp.com All rights reserved.