Insertar tantas filas como items tenga una listbox

Tengo una listbox con 4 items y quiero añadir esos datos a unas celdas especificas de excel a través de un botón de comando. Al presionar el botón quiero que se inserten en excel 4 filas para los datos de la listbox. Mi pregunta es ¿cómo hago para que se inserten las filas dependiendo del numero de items que tenga en la listbox?

Ejemplo:

Si tengo 2 items en la listbox que se inserten 2 filas, si tengo 5 items en la listbox se inserten 5 filas...

Respuesta
2

Pero no entiendo a qué le llamas "insertar tantas filas", entiendo que tienes 4 datos en el listbox y quieres pasar esos 4 datos a la hoja de excel, ¿pero a partir de cuál fila?

 Yo realmente necesito que los datos que se agregan a la listbox1 se vayan agregando a la celda B2 de la hoja "jessica". El problema radica en q el registro va a ser constante durante todo el día y toda la semana, aproximadamente 30 registros diarios por 6 días a la semana. Por ende los datos tienen nuevos tienen que cargarse en las celda B2 mostrando los más recientes en las primeras filas. Para eso pienso que lo ideal es insertar filas en B, pero en la listbox puede haber entre 1 item y 8 item por lo que tendrían que insertarse tantas filas como items tenga la listbox. 
De verdad agradezco la ayuda

Con lo siguiente, pasas los datos del listbox1 a la hoja2 a partir de la fila2, te va insertando una fila por cada dato en listbox, y te pone en la columna A el dato.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h2 = Sheets("Hoja2")
    j = 2
    For i = 0 To ListBox1.ListCount - 1
        h2.Rows(j).Insert
        h2.Cells(j, "A") = ListBox1.List(i)
    Next
End Sub

Saludos.Dante Amor

Si es lo que necesitas.

Cambia "Hoja2" por "jessica" y "A" por "B", prueba y me comentas

¡Gracias! Es exactamente lo que necesito! Me puedes explicar la lógica de ese código? Para futuras dudas . Si no es mucha molestia por supuesto!

La fila en dónde se van a insertar las filas nuevas

j=2

Inicia un ciclo para cada uno de los datos que tienes en el listbox

For i = 0

En la columna "A" pone el valor del listbox

cells(j, "A") = 

Dante me sirvió a la perfección pero yo necesito colocar unas formulas en las columnas 1 y 3. O sea que al aparecer en la columna 2 el valor de la listbox en la columna 3 aparezca el y en la columna 1 la fecha pero no deja hacerlo. Imagino que no se puede insertar una fila cuando hay valores en la misma...

Hermano me quede estancado. Como hago si quiero que haga lo mismo q en el código anterior pero en vez de insertar una fila los datos se vayan almacenando en la celda en blanco de la columna B? O sea seria lo mismo pero q lo datos se vayan guardando abajo. 

Te lo explico de una manera más sencilla amigo Dante.

Tengo un Listbox que puede tener entre 1 y n cantidad de items y quiero agregarlos a la columna b de una hoja de excel a través de un botón de comando. Mi duda es que cada vez que presione el botón de comando los datos se tienen que guardar sin borrar los datos anteriores. Para esto tengo entendido que es necesario que los datos se vayan cargando en la (s) celda (s) vacía (s) de la columna B.
Ejemplo:
Si en la listbox hay 3 item al hacer click en el botón de comando se ingresan en b2, b3 y b4.
Luego tengo 5 items en la listbox y al hacer click en el botón de comando deberían agregarse en b5, b6, b7, b8 y b9 y así sucesivamente...

Podrías crear una pregunta nueva y escribe ejemplos reales de cómo tienes la información, si pudieras poner imágenes donde se muestren las filas y las columnas sería más práctico

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas