Delete entire rows for empty cells in a table using a macro in an excel report

This macro helps me to delete the entire rows into a table, when there are empty cells in the column A.

macro excel macro excel

 

When I use the macro ?

To delete the entire row for empty cells in a table.

 

How to create the macro ?

Read How to create, edit, hide and select a macro in an excel report

 

How to create the button to associate it with the macro ?

Read How to create a button and associated it to a macro in an excel report

 

How is/are the macro(s) ?

Copy the code below and paste it into your macro. You will see my comments in green if exist so follow the help to adapt to your need.


Sub test()
Dim i As Long
Application.ScreenUpdating = False
' change xxx by the table name
With ActiveSheet.ListObjects("xxx")
  For i = .ListRows.Count To 1 Step -1
    If .ListRows(i).Range.Cells(1) = "" Then
      .ListRows(i).delete
    End If
  Next i
End With
Application.ScreenUpdating = True
End Sub

However, this code is not very effective if I have a huge amount of empty rows to delete. In such situation, I use this one:


Sub test()
' change xxx by the table name and yyy by the ID column where empty cells (A = 1, etc.)
ActiveSheet.ListObjects("xxx").Range.AutoFilter Field:=yyy, Criteria1:="="
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.delete Shift:=xlUp
ActiveSheet.ListObjects("xxx").Range.AutoFilter Field:=yyy
End Sub

Interesting Topics