You can also try this to delete all the empty rows in the used portion of a spreadsheet.
Sub DeleteEmptyRows()
LastRow = ActiveSheet.UsedRange.column - 1 + ActiveSheet.UsedRange.Rows.Count
For r = LastRow To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete...