値が入力されているセル(空白セルを含む)の最終行を求めるには、UsedRangeプロパティを使います。
例

たとえば、このように値が入力されているシートの最終行を求めるには、次のように記述します。
Sub GetLastRow2()
Dim cnt As Integer
'使用済みセルの行数を取得
cnt = ActiveSheet.UsedRange.Rows.Count
'最終行を取得
MsgBox ActiveSheet.UsedRange.Rows(cnt).Row
End Sub
まず、ActiveSheet.UsedRange.Rows.Countで使用済みセルの行数を求めます。次にRows(cnt)で使用済みセルの範囲内で最下行からRowプロパティで最終行を求めています。
実行結果

<参考サイト>
http://www.niji.or.jp/home/toru/notes/8.html
スポンサーリンク