¿Como pasar todos los items de un ListBox a una celda especifica? VB

Tengo un código que me pasa los items a otra hoja de excel, sin embargo este registro lo hace siempre en la ultima fila, es decir, si el ultimo registro fue el la fila 10 el siguiente lo hace en la 11 y lo que necesito es que siempre me almacene los datos aparir de la fila 22, ya que es una orden de compra y ahí escribirá los productos adquiridos y su descripción pero no encuentro por ningún lado como hacerlo ya lo intente con un for pero solo me almacena la primera fila del listbox.

1 respuesta

Respuesta
2

Te anexo un ejemplo, para pasar los datos del un listbox a la hoja.

Voy a suponer algunas cosas.

- En el listbox tienes 4 columnas : cantidad, descripción, precio e importe

- Vas a pasar la cantidad a la columna B, descripción en C, precio en D e importe en E

- La macro a convertir en valor numérico los valores que son números, como cantidad, precio e importe

Private Sub CommandButton1_Click()
    Set h = Sheets("Orden")
    fila = 22
    For i = 0 To ListBox1.ListCount - 1
        'convertir los textos a valor numérico
        If ListBox1.List(i, 0) = "" Then cantidad = 0 Else cantidad = CDbl(ListBox1.List(i, 0))
        If ListBox1.List(i, 2) = "" Then precio = 0 Else precio = CDbl(ListBox1.List(i, 2))
        If ListBox1.List(i, 3) = "" Then importe = 0 Else importe = CDbl(ListBox1.List(i, 3))
        '
        'Pasar los datos a la hoja
        h.Cells(fila, "B") = cantidad
        h.Cells(fila, "C") = ListBox1.List(i, 1)    'descripción
        h.Cells(fila, "D") = precio
        h.Cells(fila, "E") = importe
        fila = fila + 1
    Next
End Sub

Avísame cualquier duda.

.

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas