Decimales en sumatoria de Listbox

Acudo a ustedes para resolver este inconveniente.
De la mano de esta pagina logre sumar los valores contenidos en las columnas que tengo en mi listbox, pero me veo en el problema de que solo devuelve valores enteros, pero yo necesito que me devuelva también los decimales.

La idea es que yo pueda filtrar según 2 condiciones, la primera por concepto y la segunda por un rango de fechas, para ver todas las operaciones que se efectuaron en relación al concepto que filtre en primer momento.
El problema como mencione es que la sumatoria total por columna (hay 2 columnas con datos numéricos) que deberían mostrarse en el DEBE y HABER solo da números enteros y yo necesito que me muestre también los decimales para tener datos mas exactos.

Adjunto el código del userform:

Private Sub CommandButton1_Click()

Me.ListBox1.ColumnWidths = "60 pt;50 pt;90 pt;60 pt;60 pt;300 pt"

FECHA1 = CDate(FI)

FECHA2 = CDate(FF)

FECHA1 = Format(FECHA1, "mm/dd/yyyy")

FECHA2 = Format(FECHA2, "mm/dd/yyyy")

CONCEPTO = con

Sheets("libro diario").Range("a5").AutoFilter field:=4, Criteria1:="=" & CONCEPTO

Sheets("libro diario").Range("a5").AutoFilter field:=2, Criteria1:=">=" & FECHA1, Operator:=xlAnd, Criteria2:="<=" & FECHA2

For Each celda In Range("a5:a" & Range("a6500").End(xlUp).Row).SpecialCells(xlCellTypeVisible)

ListBox1.AddItem celda

I = ListBox1.ListCount - 1

ListBox1.List(I, 1) = celda.Offset(0, 1)

ListBox1.List(I, 2) = celda.Offset(0, 3)

ListBox1.List(I, 3) = celda.Offset(0, 4)

ListBox1.List(I, 4) = celda.Offset(0, 5)

ListBox1.List(I, 5) = celda.Offset(0, 6)

ListBox1.List(I, 6) = celda.Offset(0, 7)

Next

TOTAL = 0

For I = 0 To ListBox1.ListCount - 1

TOTAL = TOTAL + (Val(ListBox1.List(I, 3)))

DEBE.Text = TOTAL

Next

TOTAL = 0

For I = 0 To ListBox1.ListCount - 1

TOTAL = TOTAL + Val(ListBox1.List(I, 4))

HABER = TOTAL

Next

SALDO = DEBE - HABER

If ActiveSheet.AutoFilterMode = True Then

ActiveSheet.AutoFilterMode = False

End If

End Sub

Acá va una imagen del listbox (estoy mandando esta pregunta desde una Mac así que no puedo mostrar como queda con los resultados porque no funciona el formato )

Espero que se haya entendido mi problema y de ante mano agradezco la ayuda !

1 respuesta

Respuesta
1

Quizá sea solo una cosa de formatos y/o interpretación de los valores. No olvidemos que los "TextBox" son eso: Cajas de texto y como tal toman todos los datos que introducimos en ellos. Otra cosa importante de recordar es que VBA es un lenguaje US-Centric y solo admite el punto como separador de decimales (aunque quizá no es tu caso/problema).

Otro muy común problema es que los TextBox siempre colocan la coma como separador decimal, a menos que le indiques otra cosa.

Entonces, para poder darte una solución tendrías de preferencia que mostrarnos, alguna captura de pantalla o fotos ayudarían, como están tus valores en las celdas y en el "ListBox" y así podríamos, de manera más fácil, darte una respuesta acertada.

Salu2

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas