Hi Gavin,
You can't resize to 0.
This "works" but may not give the desired result.
[VBA]
Sub Test()
With ActiveSheet
.Rows(1).Insert
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
EndAt = LastRow
For i = LastRow To 1 Step -1
If .Cells(i, "A").Value = "" Then
'error @ next line
If (EndAt - i) <> 0 Then
.Cells(i + 1, "A").Resize(EndAt - i).Copy
.Cells(i, "A").PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Rows(i + 1).Resize(EndAt - i).Delete
End If
EndAt = i - 1
End If
Next i
End With
End Sub
[/VBA]