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!😊