¿Cómo hacer que los datos de listbox se guarden en una sola celda de excel con salto de línea?

Antes que nada agradecerle a todos los colaboradores de TodoExpertos por la gran aportación.

Mi caso es la siguiente:

En formulario VBA tengo 4 Listbox: lstcantidad, lstproducto, lstprecio, lstimporte.

Al pulsar clic en el botón adicionar los datos se guardan tal como muestra a continuación:

Ejemplo:

lstcantidad               lstproducto                                   lstprecio                  lstimporte

    2                              chompas                                          70                                140.00

    3                              Camisas                                           40                                 120.00

    1                             Polos                                                 25                                    25.00

Hasta aquí, todo me sale bien. Ahora en la hoja1, empezando desde la celda c5 se debe grabar tal como se muestra: (Aquí necesito su ayuda)

==>Cant: 2, Descrip: Chompas, Prec: 70, Imp: 140.00

==>Cant: 3, Descrip: Camisas, Prec: 40, Imp: 120.00

==>Cant: 1, Descrip: Polos,     Prec: 25, Imp:  25.00

Cuando genero una nueva venta se debe grabar de manera sucesiva. Debe tener en cuenta que esto es su detalle de una venta.

Nota: Por favor necesito su apoyo lo más pronto posible; ya que me han solicitado en mi trabajo para implementar. Si tuviera el archivo agradecería que me enviara al siguiente correo: [email protected]

1 Respuesta

Respuesta
2

No entendí bien cómo quieres pasar los datos a la celda.

Puedes poner 2 imágenes, 1 para ver cómo tienes los 4 listbox

En otra imagen pon cómo quieres los datos en la hoja de excel, procura que se vean las filas y las columnas de excel.

Buenos días Dante.

Antes que nada agradecerle por la respuesta. Aquí te envío la primera imagen de cómo están los listbox en el formulario. (Primera imagen)

Explico. Usted ingresa la cantidad, Descripcion y Precio. Al presionar adicionar se agregan los datos en listbox. Cuando presiona GRABAR, los datos deben guardarse en la hoja VENTAS2015, tal como muestra continuación (Segunda imagen)

Explico. Debe grabar de a partir de la celda B5. Como puede notar todos los datos se graban en una sola celda; ya que pertenece a una venta específica. Si genera una nueva venta se grabará en la celda B6 y así sucesivamente. 

Por favor, espero que pueda apoyarme lo antes posible; ya que tengo que mejorar el aplicativo que estoy desarrollando.

Nuevamente muchas gracias por el interés.

Saludos

Te anexo la macro para realizar lo que pides.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h2 = Sheets("VENTAS2015")
    For i = 0 To ListBox1.ListCount - 1
        cad = cad & "==>Cant: " & ListBox1.List(i) & _
              ", Descrip: " & ListBox2.List(i) & _
              ", Prec: " & ListBox3.List(i) & _
              ", Imp: " & ListBox4.List(i) & Chr(10)
    Next
    u = h2.Range("B" & Rows.Count).End(xlUp).Row + 1
    h2.Cells(u, "B") = "'" & Left(cad, Len(cad) - 1)
End Sub

Pero, la forma en que estás registrando la información no es práctica.

Deberías registrar cada dato en una columna y en la columna A poner un identificador de la venta:

De esta forma tienes toda la información para obtener reportes por cualquier columna. Si juntas todo en una celda, para obtener información por venta o por producto, tendrás que separar los datos que están en la celda.

Es una recomendación, pero tu conoces mejor tu aplicación y sabes cómo la necesitas.

Saludos. Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas