Try this:-
Sub Del()
Dim Rng As Range, Dn As Range, n As Long
Dim Lst As Long, Ac As Long, nRng As Range
Set Rng = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
Lst = Cells("1", Columns.Count).End(xlToLeft).Column
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Dn In Rng
If Not .Exists(Dn.Value) Then
.Add Dn.Value, Dn
Else
For Ac = 1 To Lst - 1
.Item(Dn.Value).Offset(, Ac).Value = _
.Item(Dn.Value).Offset(, Ac).Value + Dn.Offset(, Ac)
Next Ac
If nRng Is Nothing Then Set nRng = Dn Else Set nRng = Union(nRng, Dn)
End If
Next
If Not nRng Is Nothing Then nRng.EntireRow.Delete
End With
End Sub