Pasar datos de listbox a hoja con decimales

Como están estimados maestros y maestras, una vez mas solicitando vuestra experta ayuda.

Tengo un formulario que busca datos entre 2 fechas desde 2 textbox, carga en listbox lo filtrado, en la columna 2 del listbox carga valores con formato de 2 decimales. Estos mismos datos los paso a una tabla a partir de la fila 4, pero no logro que en la columna 3 de la tabla (C), los datos sean exactamente igual a los del listbox, es decir valores con los 2 decimales, los pasa en números enteros.

Podrían orientarme como lograr lo que necesito.

1 respuesta

Respuesta
1

Claro que sí, con gusto te ayudo. Entiendo que quieres pasar los datos de un ListBox a una hoja de Excel, manteniendo el formato de dos decimales que tienes en la columna 2 del ListBox. Veo que ya estás usando un formulario con TextBox para filtrar datos entre dos fechas, ¡Genial!
Para que los datos se copien con los dos decimales a la columna 3 de tu hoja, te recomiendo que revises el formato de las celdas en la columna "C" de tu tabla. Asegúrate de que estén configuradas para mostrar dos decimales. Puedes hacerlo de la siguiente manera:
* Selecciona la columna "C" de tu tabla.
* Haz clic derecho y selecciona "Formato de celdas".
* En la pestaña "Número", elige la categoría "Número".
* En el cuadro "Posiciones decimales", escribe "2".
Además, al momento de pasar los datos del ListBox a la hoja, es importante que uses el valor numérico y no el texto que se muestra en el ListBox. En VBA, puedes usar la función Val() para convertir el texto a un valor numérico.
Por ejemplo, si estás usando un bucle para pasar los datos, podrías usar algo como esto:
For i = 0 To ListBox1.ListCount - 1
' Suponiendo que la columna 2 del ListBox tiene índice 1
Sheets("Hoja1").Cells(i + 4, 3).Value = Val(ListBox1.List(i, 1))
Next i

En este código:
* ListBox1 es el nombre de tu ListBox.
* Sheets("Hoja1") debes reemplazarlo con el nombre de la hoja donde está tu tabla.
* Cells(i + 4, 3) se refiere a la celda en la fila i + 4 y columna 3 (columna "C").
* Val(ListBox1. List(i, 1)) obtiene el valor numérico de la columna 2 (índice 1) del ListBox.
Recuerda que este es un ejemplo general.
¡Espero que esto te ayude!?

¡Gracias! 

Muy agradecido Rodolfo por vuestro apoyo, funcionó bien todo. Igual yo tenía error en una variable estaba como Integer la cambié a Double.

Excelente apoyo

Bendiciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas