ExcelVBAで最終行以降を削除する

値の入っていいない最終行を検出して、それ以降を削除します。

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行目以降が消えていることがわかります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です