Contar en un rango dinámico mediante macro

Tengo una base de datos en Excel de mas de 200.000 registros, en la columna A (documento de identidad), y que en la columna B requiero que aparezca el numero de veces que ha aparecido hasta ese punto el, en excel utilizo contar. Si($A$2:A2, A2) pero por la cantidad de registros, se me bloquea y no logro avanzar, se que con un loop o bucle se podría hacer pero me enredo mucho con llamar filas y columnas y no lo he logrado, les agradezco puedan ayudarme

1 Respuesta

Respuesta
1

 H o l a:

Te anexo la macro

Sub Contar()
'Por.Dante Amor
    Application.StatusBar = False
    u = Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To u
        Application.StatusBar = "Procesando registro: " & i & " de: " & u
        Cells(i, "B") = Application.CountIf(Range("A2:A" & i), Range("A" & i))
    Next
    Application.StatusBar = False
    MsgBox "Proceso terminado"
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Contar
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.


En la parte inferior izquierda de excel verás un contador de registros para que sepas en cuál número se está procesando.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas