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