Crear lista consecutiva en base al valor de celdas

Hola:
Quiero crear una macro donde al ingresar un valor en determinadas celdas, este crea una lista numérica consecutiva.
Por ejemplo me gustaría que las celdas A1: A3 fueran las celdas a las que ingrese el valor. Seria A1= 10, A2=5 y A3= 6. De este modo me gustaria que la lista comenzara en la A5. Dada la instrucción dela macro A5: A14 contendrían el valor (1,2,3.. 10) de acuerdo a el valor de la A1=10. Inmediatamente en la A15:A19 comenzaría la lista de la celda A2 (1,2,3 .. 5) de acuerdo al valor de la A2=5 y de la misma manera la A3=6 comenzaría la nueva lista numerada de A20:25 (1,2,3... 6).
¿Es esto posible?
Gracias
Julio R.
1

1 Respuesta

305.775 pts. * Bachiller en Ingeniería Industrial
Dentro de breves momentos retorno con la macro que necesitas. La estoy probando. Descuida que regreso
Christian
Abre un nuevo libro de Excel. Situate en Hoja1. Asígnale valores tanto a A1, A2, A3 tal como indicas. Luego de ello pulsa ALT+F11. Luego de ello ve al Menu Insertar > Modulo. En esa ventana en blanco copia y pega el siguiente código:
Sub Pruebas()
Dim rowi As Integer
Dim n As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim celda1 As Integer
Dim celda2 As Integer
Dim celda3 As Integer
celda1 = Range("A1").Value
celda2 = Range("A2").Value
celda3 = Range("A3").Value
i = 0: j = 0: k = 0: rowi = 5
For i = 0 To celda1 - 1
Cells(rowi + i, 1).Value = i + 1
Next i
For j = 0 To celda2 - 1
Cells(rowi + celda1 + j, 1).Value = j + 1
Next j
For k = 0 To celda3 - 1
Cells(rowi + celda1 + celda2 + k, 1).Value = k + 1
Next k
End Sub
****
Guarda los cambios. Puedes ejecutar la macro yendo a la Hoja1, haciendo ALT+F8. Seleccionas la macro y la ejecutas. Esta probada y funciona.
Hola experto, en verdad fabulosa, correcta y exacta la respuesta. Me preguntaba si podría seguirte cuestionando respecto al mismo ejercicio. Prometiendo ser este el ultimo cuestionamiento.
Siguiendo con el mismo ejercicio. me gustaria que la celda B1 =100, B2=200, B3 =300 se répita el mimo numero de veces que asigne a la A1=10, A2=5, A3=6. Dada la instrucción A5:A14 contendria el valor repetido de 100 10 veces.
Después de ver tu primera respuesta supongo ello es posible. ¡ ¿Me podrías apoyar?
Gracias
Entiendo! Bueno empecemos con una disposición de datos en Hoja1:
A1: 10 | B1: 100
A2: 5 | B2: 200
A3: 6 | B3: 300
===
Pulsa ALT+F11. Suprime todo el código anterior que te di y en reemplazo del código anterior copiar y pegar el siguiente código:
Sub Pruebas()
Dim rowi As Integer
Dim n As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim celda1 As Integer
Dim celda2 As Integer
Dim celda3 As Integer
Dim celda4 As Integer
Dim celda5 As Integer
Dim celda6 As Integer
'Valores en la col A
celda1 = Range("A1").Value
celda2 = Range("A2").Value
celda3 = Range("A3").Value
'Valores en la col B
celda4 = Range("B1").Value
celda5 = Range("B2").Value
celda6 = Range("B3").Value
i = 0: j = 0: k = 0: rowi = 5
Range("A5:B" & Cells.Rows.Count).ClearContents
For i = 0 To celda1 - 1
    Cells(rowi + i, 1).Value = i + 1
Next i
For j = 0 To celda2 - 1
    Cells(rowi + celda1 + j, 1).Value = j + 1
Next j
For k = 0 To celda3 - 1
    Cells(rowi + celda1 + celda2 + k, 1).Value = k + 1
Next k
'************************
For i = 0 To celda1 - 1
    Cells(rowi + i, 2).Value = celda4
Next i
For j = 0 To celda2 - 1
    Cells(rowi + celda1 + j, 2).Value = celda5
Next j
For k = 0 To celda3 - 1
    Cells(rowi + celda1 + celda2 + k, 2).Value = celda6
Next k
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas