値の入っていいない最終行を検出して、それ以降を削除します。
1 昇順で削除1
Sub gyoudell()
Dim lasgyo As Long
lasgyo = Range("A1").End(xlDown).Offset(1, 0).Row
Rows(lasgyo & ":" & Rows.Count).Delete
End Sub
以下のような文字を入力するとします。1列目の空白を見て、空白になっている移行の行を削除します。

上記VBAを実行すると、11行目以降が消えていることがわかります。

2 昇順で削除2
Sub gyoudell()
Dim lasgyo As Long
lasgyo = Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(lasgyo & ":1000").Delete
End Sub
以下のような文字を入力するとします。1列目の空白を見て、空白になっている移行の行を削除します。

上記VBAを実行すると、11行目以降が消えていることがわかります。

3 降順で削除
Sub gyoudell()
Dim lasgyo As Long
lasgyo = Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row
Rows(lasgyo & ":" & Rows.Count).Delete
End Sub
以下のような文字を入力するとします。1列目の空白を見て、途中の5行目で空白になっている行があっても降順で見ているので最終行を削除できます。

上記VBAを実行すると、5行目に空白があったとしても11行目以降が消えていることがわかります。
