Estou com vergonha da resposta em que você baseou seu código. Faça o backup dos seus dados e teste em uma cópia!
Isso deve funcionar:
Sub combine()
Dim c As Range
Dim i As Integer
For Each c In Range("A2", Cells(Cells.SpecialCells(xlCellTypeLastCell).Row, 1))
If c = c.Offset(1) And c <> "" Then
For i = 1 To 6
If c.Offset(1, i) <> "" Then
c.Offset(, i) = c.Offset(1, i)
End If
Next
c.Offset(1).EntireRow.Delete
End If
Next
End Sub