Sumar valores de los TextBox con decimales

Tengo lo siguiente, por favor necesito ayuda

Private Sub TextBox1_Change()

TextBox21 = Val(TextBox1) - Val(TextBox2) - Val(TextBox3) - Val(TextBox4)

End Sub

Cuando ingreso montos enteros todo funciona perfecto pero al intentar con decimales en los Textbox éstos no se reconocen y no se suman ni se restan, y el resultado siempre es entero, deseo que los cuadros de texto me reconozcan decimales y asi en el TextBox 21 igual me realice la operación, ¿se puede?

1 Respuesta

Respuesta
1

Intenta reemplazar los Val por CDbl...

Lo he hecho pero me arroja un error y me dice que no coinciden los tipos...

Private Sub TextBox1_Change()

TextBox21 = CDbl(TextBox1) - CDblVal(TextBox2)  - CDblVal(TextBox3)  - CDblVal(TextBox4) 

End Sub

La situación es que es un formulario y TextBox1 contiene una cantidad con decimal, necesito que las cantidades que se ingresen en los TexBox2, 3 y 4, que también las requiero con decimales, se resten a TextBox1 y su resultado sea indicado en TextBox 21 cada vez que se ingresen o cambien.

La razón es que quiero que su resultado de cero para poder proceder...

y me gustaría también saber si puedo ordenar que corra una macro o no dependiendo si el valor de TextBox21 = 0.

Muchas Gracias!

La expresión "CDblVal" -simplemente- no existe. Tiene que ser: CDbl.

Perdón escribí mal aquí al argumentar... Corrijo...

Private Sub TextBox1_Change()

TextBox21 = CDbl(TextBox1) - CDbl(TextBox2)  - CDbl(TextBox3)  - CDbl(TextBox4) 

End Sub

Me dice que no coinciden los tipos..... no se por que

La situación es que es un formulario y TextBox1 contiene una cantidad con decimal, necesito que las cantidades que se ingresen en los TexBox2, 3 y 4, que también las requiero con decimales, se resten a TextBox1 y su resultado sea indicado en TextBox 21 cada vez que se ingresen o cambien.

La razón es que quiero que su resultado de cero para poder proceder...

y me gustaría también saber si puedo ordenar que corra una macro o no dependiendo si el valor de TextBox21 = 0.

Muchas Gracias!

Listo muchas Gracias, se resolvió colocando CDbl solo en el primer valor TextBox

Private Sub TextBox1_Change()

TextBox21 = CDbl(TextBox1) - Val(TextBox2)  - Val(TextBox3)  - Val(TextBox4) 

End Sub

Muchas Gracias!

¡Qué bueno!... Pero: ¡No me conformas! (Jajajjajajaj)...
O sea, y por casualidad: ¿Podrá ser que alguno de esos textbox tuviese algún símbolo "raro" antes (o después) del número como un símbolo de moneda u otro así?...
Te lo pregunto puesto que de ser así, se justifica lo de "No coinciden los tipos"...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas