シート内に入力されている最終行を取得するマクロを作成します。
空白行があれば、空白行の手前の行が取得できます。
シートの最終行を取得するマクロ
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.