¿Cómo crear macro para llenar columna en Excel con números consecutivos reiniciando a 1 al llegar a un numero limite?

Muchas gracias por su apoyo estoy aprendiendo a programar en visual basic y por ahora estoy atorado en algo simple pero que no he logrado que funcione, lo que intento hacer es llenar una columna con números consecutivos comenzando por una celda por ejemplo A13 a partir de ahí que comience a llenar las celdas desde 1, 2, 3... Hacia abajo, en una celda tengo capturado el numero 50 y lo que intento hace es que cuando la numeración llegue a 50 reinicie la numeración desde 1, también en otra celda tengo escrito el numero 500 y quiero usarlo como referencia para que ese sea el numero de fila en donde termine de hacer el llenado,


        

2 respuestas

Respuesta
3

Te dejo una macro explicada ... ajusta las referencias de las celdas donde vas a colocar los criterios.

Sub CONSECUTIVO()
'x Elsamatilde

'se llena la col A a partir de fila 2.
ini = 13
'se llena hasta llegar a la fila indicada en D1 - AJUSTAR
While ini <= Range("D1")
'el consecutivo llega hasta el valor indicado en C1 - AJUSTAR
For i = 1 To Range("C1")
'se coloca el nro consecutivo y se incrementa la variable
Range("A" & ini) = i
ini = ini + 1
'se controla si llegó a la fila máxima
If ini > Range("D1") Then Exit For
Next i
'se repite el bucle For si aún no llegó a la fila máxima
Wend
End Sub

Si esto resuelve tu consulta no olvides valorarla, sino comenta.

Me sirvió a la perfección muchas gracias!

Hola hasta ahora todo ha salido a la perfección pero me encuentro con otro detalle con base en el código que Elsa Matilde me compartió como puedo adaptarlo para que ahora el consecutivo comience por el numero a al numero b consecutivamente y que regrese al numero a consecutivamente pero en orden descendente REPITIENDO EL NUMERO QUE COMIENZA por ejemplo:

a = 1    b=3

1

2

3

3

2

1

1

2

3...

Así sucesivamente hasta la fila donde terminara la numeración, espero mucho de su valiosa ayuda, saludos cordiales.

Esta consulta ya está resuelta y cerrada.

Por favor deja una nueva consulta en el tablón y con mucho gusto te la resolveré también. Indica en el cuerpo que es Para Elsa.

Sdos!

Respuesta
1

Ya que estás aprendiendo sobre macros te dejo lo siguiente:

Sub Macro1()
'------------------
'by Cacho Rodríguez
'------------------
With Range([D1])
  With Range(.Cells, Cells([D3], .Column))
    .Formula = "=1+Mod(" & .Cells(0).Address(0) & ", $D$2)"
    .Cells(1) = 1: .Cells = .Value
  End With
End With
End Sub

Considera tener:
- En la celda D1 el texto: A13 (de este modo le indicas a la macro donde comenzar la serie);
- En la celda D2 el valor: 50

- En la celda D3 el valor: 500
Así las cosas, variando el contenido de las mencionadas tres celdas y sin modificar -ni un ápice- la macro puedes:
- Cambiar la localización de la serie;

- Cambiar la cantidad de valores que se repiten; y

- Cambiar la última fila de la serie.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas