エクセルマクロで、最終行以降を削除するコードを記載しています。
このページのマクロコードは、コピペで使えます。
ぜひお試しください😉
最終行以降を削除(アクティブシート)
Sub 最終行を検出して削除()
Dim lastRow As Long
'最終行を取得
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
'最終行以降を削除
Rows(lastRow + 1 & ":" & Rows.Count).Delete
End Sub
アクティブシートのA列で値が入力されていない最終行を特定し、
その行以降をすべて削除する処理を行います。
最終行以降を削除(特定シート)
Sub 指定のシートの最終行以降を削除()
Dim lastRow As Long
' "Sheet2"のA列で最後の行を見つけます
lastRow = Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
' "Sheet2"の最終行以降の行を削除します
Sheets("Sheet2").Rows(lastRow + 1 & ":" & Rows.Count).Delete
End Sub
Sheet2のA列で値が入力されていない最終行を特定し、
その行以降をすべて削除する処理を行います。
最終行以降を削除(複数列を考慮)
Sub 最終行以降を削除する()
Dim lastRow As Long
' A列とB列をチェックして、より大きい最後の行番号を見つけます
lastRow = Application.WorksheetFunction.Max( _
Cells(Rows.Count, "A").End(xlUp).Row, _
Cells(Rows.Count, "B").End(xlUp).Row)
' 見つけた最終行以降の行を削除します
Rows(lastRow + 1 & ":" & Rows.Count).Delete
End Sub
ワークシート上でA列とB列の両方を調べて、
入力されているデータの最も下にある行を検出します。
この最終行を基にして、それ以降の全ての行を削除します。
最終行以降を削除(全シート適用)
Sub 最終行以降を削除する()
Dim ws As Worksheet
Dim lastRow As Long
' ワークブック内の全シートに対してループ処理します
For Each ws In ThisWorkbook.Sheets
' 各シートのA列で最後の行を見つけます
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
' 各シートの最終行以降の行を削除します
ws.Rows(lastRow + 1 & ":" & Rows.Count).Delete
Next ws
End Sub
マクロ実行前
マクロ実行後
Excelのブック内にある全てのシートに対して作用します。
各シートのA列の最終行を見つけて、
最終行以降にある行を、そのシートから削除します。
この記事がお役に立ちますと幸いです。
【エクセルマクロ】最終行までコピーする:使用例6選
...
「スラスラ読める Excel VBAふりがなプログラミング」
プログラムの読み方をすべて載せる(ふりがなをふる)」という手法で究極のやさしさ!
マクロを考える応用問題も用意しているため、ExcelVBAの基礎を身につけることができます
リンク