Here is a short way to do it, allowing you to select the column to base the deletion upon. It will delete all rows within the selected column. I use this many times a day.
Code:
Sub DeleteEmptyRowsMain()
' allows user to choose the column by selecting it.
Dim myColm As Range
Set myColm = Application.InputBox("Choose column(s) to clear", Type:=8)
On Error Resume Next
myColm.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
But note, if you have a few blank rows at the top of your data, it will delete those if the selected column includes blanks in that section. One possible work around is to put dummy data in the cells of the column you want to base the delete upon, then delete the dummy data afterward.