【エクセルマクロ】最終行以降を削除する:使用例4選 自動化

ExcelVBA

エクセルマクロで、最終行以降を削除するコードを記載しています。

このページのマクロコードは、コピペで使えます。
ぜひお試しください😉

最終行以降を削除(アクティブシート)


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選
エクセルマクロで、最終行までコピーするVBAコードを記載しています。このページのマクロコードは、コピペで使えます。ぜひお試しください😉最終行までコピー(FillDown)以下のマクロを実行すると、2行目から最終行までコピーします。Sub 文...

 

[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう

ChatGPTと対話しながら身につける、新しいVBA入門

Excelマクロ・VBAをAIと一緒にラクに習得したいなら、まず読んでおきたい一冊です!


★★★★★ 4.6 ※ Amazonカスタマーレビューより
マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
変数・条件分岐・ループなどVBAの基礎もしっかり解説されている