Hola! Wily (y Nic)
En tu descripción se advierte que controlas los duplicados sobre la columna B, mientras que en tu macro dicha columna es la I: ¡Supondré esto último!
La siguiente macro la he probado respecto de 130 mil filas de datos y no tarda más de un segundo: ¿La evaluarías?...
Código php:
Ver originalSub contarCasos()
'------------------
'by Cacho Rodríguez
'------------------
Dim Mat, Dic, Q&, i&, iniTime!
iniTime = Timer
Mat = Range("I1", Cells(Rows.Count, "I").End(xlUp)): Q = UBound(Mat)
Set Dic = CreateObject("Scripting.Dictionary")
For i = 1 To Q
Select Case Dic.Exists(Mat(i, 1))
Case True: Dic(Mat(i, 1)) = 1 + Dic(Mat(i, 1))
Case False: Dic(Mat(i, 1)) = 1
End Select
Next
For i = 1 To Q
Mat(i, 1) = Dic(Mat(i, 1)): Next
Range("Z1").Resize(Q) = Mat
MsgBox "Tiempo de proceso: " & Format(Timer - iniTime, "0.000 seg.")
End
End Sub