Problema con decimales en textbox de Userform excel 2003

Estoy haciendo un Userform con varios textbox que calculan valores entre si ejemplo:

Tengo un textbox que renombre como "mon" ya que es el monto total y el resto pertenecen a la forma de pago de ese monto por lo que los llame mona, monb, monc, mond, mone, etc.

Y hago un calculo entre ellos para no tener errores ó diferencias de esta forma.

Private Sub mona_Change()

If mona = "" Then

mona.Value = 0

End If

monb.Value = (mon.Value - mona.Value - monc.Value - mond.Value)

monc.Value = (mon.Value - mona.Value - monb.Value - mond.Value)

mond.Value = (mon.Value - mona.Value - monb.Value - monc.Value)

End Sub

Hasta acá funcionaba bien, el problema que tengo es que al usar decimales los usuarios usan el "." del pad numérico y el mismo no me lo reconoce como separador decimal ya que me toma el de la configuración regional de mi pc que es la coma. Lo que necesito es o crear una configuración para el userform para no tener problemas con ningún textbox, ó agregar si es que se puede algún código para que al ingresar el valor "." (PUNTO) me devuelva como valor "," (COMA) quizás en el evento KeyPress

1

1 respuesta

Respuesta
1

Pon esta macro en el evento exit de cada textbox de tu formulario. De esta manera le obligarás al usuario a cambiar el punto por la coma.

(Recuerda finalizar y puntuar mi labor, un saludo)

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If InStr(TextBox2, ".") Then

MsgBox "error. Cambie el punto por la coma"

TextBox2.SetFocus

Cancel = True

End If

End Sub

Si fuera así.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas