As a mental exercise, I wish to employ straight-down (as opposed to back-up) loop to delete blank rows. Further, I wish to deploy a construct where all cells that qualify (ie blank) are agglomorated and deleted in one fell swoop at the end of the looping. As the code will not be repeatedly deleting during passes in the loop, some precious time will be gained to improve time efficiency. My effort thus far has produced the following code which fails to "gather" the qualifying cells.

Sub DeleteBlankrw()
Dim rng As Range
Dim c As Range
For Each c In Range("a1:a" & [a65536].End(xlUp).Row)
If IsEmpty(c) Then
Set rng = c
Set x = Union(rng, c)
End If
Next
MsgBox x.Address
x.Delete
End Sub

Any help will be appreciated.