VBA: AutoFill (1, 2, ...) en función del valor de las celdas de otra columna

Tengo una duda de vba en Excel (2007) que no se ni por donde empezar. Mi manejo de vba en Excel es ir haciendo macros, e ir adaptando el código... Así que mi nivel es bastante escaso. Intentaré formular la pregunta lo mas detallada posible:

Tengo una tabla con un numero de filas que puede variar, desde la columna "AE" hasta la "AU", donde en la columna "AK" tengo la variable municipio.

Tengo ordenada la tabla según el municipio, por lo tanto, queda algo así:

AE ... AK

Nombre 11 ... Municipio 1

Nombre 17 ... Municipio 1

Nombre 31 ... Municipio 1

Nombre 98 ... Municipio 1

Nombre 1 ... Municipio 2
Nombre 22 ... Municipio 2
Nombre 100 ... Municipio 2
Nombre 105 ... Municipio 12

Pues bien, necesito, en la columna anterior al nombre ("AD"), poner un autofill que me numere de 1 hasta los que haya por cada municipio (que es no es un número fijo nunca). Es decir, debe quedar así:

AD AE ... AK
1 Nombre 11 ... Municipio 1
2 Nombre 17 ... Municipio 1
3 Nombre 31 ... Municipio 1
4 Nombre 98 ... Municipio 1
1 Nombre 1 ... Municipio 2
2 Nombre 22 ... Municipio 2
3 Nombre 100 ... Municipio 2

4 Nombre 105 ... Municipio 12

No se si estoy pidiendo la luna...

1 respuesta

Respuesta
1

Ejecuta la siguiente macro

Sub rellenar()
'Por.DAM
ant = Range("AK" & 2)
k = 1
Range("AD2:AD" & Range("AK" & Rows.Count).End(xlUp).Row).ClearContents
For i = 2 To Range("AK" & Rows.Count).End(xlUp).Row
    If ant <> Cells(i, "AK") Then k = 1
    Cells(i, "AD") = k
    ant = Cells(i, "AK")
    k = k + 1
Next
MsgBox "Proceso Terminado", vbInformation, "NUMERACIÓN"
End Sub

La macro empieza a numerar desde la fila 2, supongo que en la fila 1 tienes títulos.

Prueba y me comentas.

Saludos. DAM
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas