Enumerar por Grupos con macros en Excel

Tengo una lista de facturas de nuestra empresa en donde una de las columnas es el nombre del cliente. Necesito asociar un valor numérico a cada cliente y cada fecha de emisión en una nueva columna de manera que todos los registros del cliente fecha de emisión tengan ese mismo número.

1 respuesta

Respuesta
2

Sería de mucha ayuda si tu explicación la acompañas de ejemplos, de lo que tú tienes, y también es importante, que pongas cuál es el resultado esperado.

Puedes insertar imágenes.

Gracias

A través de un Userform alimento esta base de datos

 quiero llegar a esto

"Todos los registros del cliente fecha de emisión tengan ese mismo número"

Para entender bien, ya que los datos de tu pregunta no coinciden con los datos de tu imagen:

Supongo que el "cliente" es la "Entidad - columna H"

Y la "fecha de emisión", es la "Fecha_Recibido - Columna J.

Me confirmas.


¿En qué momento quieres poner el "número de grupo - columna K"?

- Cuando pasas los datos del userform a la hoja. Si es así, pon aquí el código que utilizas para ello y yo te ayudo para crear el número de grupo.

- O quieres un proceso independiente para llenar toda la columna K, con los datos que existan en las columnas H y J.

Hola

Si efectivamente el cliente es la columna H y la fecha la columna J y quiero un proceso independiente para llenar la columna K. Gracias

Si lo quieres con fórmula.

Pon la siguiente fórmula en la celda K2 y la copias hacia abajo, hasta el final de tus datos:

=TEXTO(SI(H2&"|"&J2<>H1&"|"&J1,SI.ERROR(K1+0,0)+1,K1),"0000")

NOTA: Cambia en la fórmula las comas ( , ) por punto y coma ( ; ) si lo utilizas como separador de argumentos.


Si lo quieres con macro, ejecuta la siguiente:

Sub CrearGrupos()
  With Range("K2:K" & Range("J" & Rows.Count).End(3).Row)
    .NumberFormat = "GENERAL"
    .Formula = "=TEXT(IF(H2&""|""&J2<>H1&""|""&J1,IFERROR(K1+0,0)+1,K1),""0000"")"
    .NumberFormat = "@"
    .Value = .Value
  End With
End Sub

[Sal u dos. No olvides cambiar la valoración.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas