¿Por qué está bloqueando esto? Recorrer todas las filas, realizar funciones en duplicado, eliminar fila duplicada

El código funciona cuando muerdo un par de cientos de filas a la vez, pero siempre se cuelga en algún lugar en el medio cuando intento ejecutarlo en 10,000.

Lo que hace el código: Busca entradas duplicadas en la columna A, agrega los valores en las columnas c, dye entre las dos filas y luego elimina la fila original.

¿Alguien puede pensar en una forma más estable de hacer esto, o señalarme por qué podría estar bloqueando?

Sub combineDelete ()
  Const TEST_COLUMN As String = "A"
  Dim i As Long
  Dim iLastRow As Long
  With ActiveSheet
  iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
  For i = iLastRow To 2 Step -1
  If Cells(i, 1) = Cells(i - 1, 1) Then
    s = Cells(i, 3).Value
    t = Cells(i - 1, 3).Value
    Cells(i - 1, 3) = s + t
    u = Cells(i, 4).Value
    v = Cells(i - 1, 4).Value
    Cells(i - 1, 4) = u + v
    w = Cells(i, 5).Value
    y = Cells(i - 1, 5).Value
    Cells(i - 1, 5) = w + y
    Cells(i, 1).EntireRow.Delete
  End If
  Next i
End With
End Sub

Editar: aquí hay un enlace a un subconjunto de muestra de los datos.

Post-edición: cada una de estas ideas es efectiva. La solución de Ron Rosenberg a continuación se las arregla para manejarlo en órdenes de magnitud más rápido que cualquier solución con la que jugué. ¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta