Textbox formato moneda
Publicado por Damian (6 intervenciones) el 21/07/2015 15:16:39
Estimados, buenos días
Realizo la siguiente consulta debido a que ya agoté todos los medios de consulta que conozco a mi alcance. Estoy haciendo un sistema de facturación y en uno de mis forms tengo 5 textbox (supongamos textbox1, textbox2, etc). Lo que quiero lograr es que se sumen los valores de los 5 en un sexto textbox6. y que todos se muestren con formato de moneda ($#.##). El problema radica en que actualmente puedo ingresar y me hace bien el calculo solo si coloco decimales con el . (punto) y no así con la coma. Pero en los 5 textbox trabaja con punto (.) y el resultado en el sexto lo muestra con coma (,)
Les comparto el código que usé de ejemplo en el primer textbox para ver si pueden ver que estoy haciendo mal.
Muchas gracias.
Utilizo un código BeforeUpdate en cada textbox para que realice el cálculo
Y otro evento Change para validar que no se introduzcan letras.
Realizo la siguiente consulta debido a que ya agoté todos los medios de consulta que conozco a mi alcance. Estoy haciendo un sistema de facturación y en uno de mis forms tengo 5 textbox (supongamos textbox1, textbox2, etc). Lo que quiero lograr es que se sumen los valores de los 5 en un sexto textbox6. y que todos se muestren con formato de moneda ($#.##). El problema radica en que actualmente puedo ingresar y me hace bien el calculo solo si coloco decimales con el . (punto) y no así con la coma. Pero en los 5 textbox trabaja con punto (.) y el resultado en el sexto lo muestra con coma (,)
Les comparto el código que usé de ejemplo en el primer textbox para ver si pueden ver que estoy haciendo mal.
Muchas gracias.
Utilizo un código BeforeUpdate en cada textbox para que realice el cálculo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub txt_P1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim P1, P2, P3, P4, P5 As Double
Dim Resultado As Double
If txt_P1 <> Empty Then
P1 = Val(txt_P1)
End If
If txt_P2 <> Empty Then
P2 = Val(txt_P2)
End If
If txt_P3 <> Empty Then
P3 = Val(txt_P3)
End If
If txt_P4 <> Empty Then
P4 = Val(txt_P4)
End If
If txt_P5 <> Empty Then
P5 = Val(txt_P5)
End If
Resultado = CDbl(P1) + CDbl(P2) + CDbl(P3) + CDbl(P4) + CDbl(P5)
txt_PT = Resultado
End Sub
Y otro evento Change para validar que no se introduzcan letras.
1
2
3
4
5
6
7
8
9
Private Sub txt_P1_Change()
If Not IsNumeric(txt_P1.Text) And _
txt_P1.Text <> "" Then
Beep
MsgBox "Solo se pueden ingresar números y los decimales deberán indicarse con punto en lugar de coma."
txt_P1.Text = ""
txt_P1.SetFocus
End If
End Sub
Valora esta pregunta


0