Formateo de textbox excel

Tengo el siguiente código:
Private Sub TextBox48_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim total As Double
total = Val(TextBox7) + Val(TextBox35) + Val(TextBox38) + Val(TextBox41) + Val(TextBox44) + Val(TextBox47)
TextBox48 = Val(total)
TextBox48 = Format(Val(TextBox48), "###,##0.00")
End Sub
El objetivo de este código es que suma varios textbox y lo coloque en el textbox48 a lo cual no logro que la cantidad sumada se formatee correctamente (en miles de pesos) y se colocada corrctamente en el textbox
Me saca sumatorias raras y no correctas.
¿Cómo puedo realizarlo?
En espera de una pronta respuesta.

1 respuesta

Respuesta
1
Un par de cosas: primero asignas a 'textbox48' el valor numérico de 'total' 8que está definido como numérico doble, y después reasignas a 'textbox48' su propio valor convertido a número.
Esta segunda asignación es la que puede estar cambiándote el valor correcto porque el control tendrá un formato determinado y, posiblemente, te estará interpretando el punto decimal como miles o viceversa.
Yo te plantearía que hagas una única asignación con la siguiente instrucción:
TextBox48 = Format(total, "###,##0.00")
Y si el control ya tiene un formato predefinido, la instrucción sería más sencilla:
TextBox48 = total
Posiblemente no te actualice el valor en pantalla en el mismo momento. Si es ese tu problema, prueba a añadir detrás de la asignación un refresco del control o del formulario (formulario. Refresh) o, si no te funciona, la instrucción 'doEvents'.
Ok perfecto, muchas gracias ya quedo, el error era que los textbox no lo interpretaban correctamente los valores asignados al momento de hacer los calciulos.
Una vez que los cálculos los hace a través de variables queda todo excelente.
Muchas Gracias por tu apoyo.
Y otra molestia, necesito valorar los datos captuados en un textbox, lo estoy manejando con: Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean), ¿es correcto? O que de que manera puedo realizar el procedimiento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas