Excel - Delete Empty Rows

This macro deletes empty rows in a worksheet.


  • 1519
  • 645
  • 0
  • 0
Add to collection
© 2021VBAmacros.net

1 Open MS Excel.

2 Create a blank workbook.

3 Go to Developer's tab > click on "Visual Basic" button or hit Alt + F11.

4 Go to Insert tab > click on "Module" or hit M.

5 Copy the VBA code from below.

6 Paste the code in the newly created module.

7 Go to Run tab > click on "Run Sub/UserForm" or hit F5.

8 That's it!


' Delete Empty Rows
Sub deleteEmptyRows()
    ' Set Variables
    Dim i As Long
    Dim lngLastRow As Long
    ' Get last row
    lngLastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    ' Turn off screen updating
    Application.ScreenUpdating = False
    ' Loop from last row to 1
    For i = lngLastRow To 1 Step -1
        ' Check if row has any values
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
            ' Delete row
        End If
    Next i
    ' Turn on screen updating
    Application.ScreenUpdating = True
End Sub

Sort by:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
VBAmacros.net VBAmacros.net
Code was successfully copied!
VBAmacros.net VBAmacros.net
Please sign in!
VBAmacros.net VBAmacros.net
You've already voted!