Crear Formulario con datos de celdas

Buenas tardes nuevamente, espero alguien pueda ayudarme con esto:
Tengo un formulario que tiene 3 TextBox, la idea es que al abrir el formulario en el TextBox1 aparezca el Valor que esta en la celda Q31, pero este TextBox solo sea para ver el valor de la celda y no se pueda cambiar ni nada; que en el TextBox2 ingrese una cantidad, y que el TextBox3 realice el calculo de TextBox1 - TextBox2, así:
TextBox1 ------- Q1, 250.50
TextBox2-------- Q1, 300.00 que es la cantidad que yo tendría que ingresar y
TextBox3-------- QUE 49.50 que es el Resultado de la resta
tengo este código para que me aparezca la cantidad en el TextBox1,
Private Sub UserForm_Initialize()
TextBox1.Value=Sheets("Factura").Range("Q31").Value
End Sub
Y correctamente me aparece la cantidad pero de esta manera Ej: 49,50 y lo que quiero es que el separador de decimales sea un punto(.) Y no se que código utilizar para poder restar dos TextBox, de antemano gracias por la atención y espero que alguien me puede ayudar
Att. Enryke

1 Respuesta

Respuesta
1
Hay varios planteamientos, vamos de a poco.
1- Para evitar que se puedan ingresar datos en los TextBox, debes ir a las propiedades del objeto (en el editor de Visual Basic, menu Ver - Ventana Propiedades) y colocar True en la opción Locked.
2- El código para restar los dos TextBox es la siguiente.
TextBox3.Value = TextBox2.Value - TextBox1.Value
Esto puedes incluirlo en el Procedimiento Change del TextBox2 o donde mejor lo consideres.
3- Para darle formato a los TextBox, puedes utilizar el siguiente código:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        TextBox3.Value = Format(Val(TextBox3), "$ #,##0.00")
End Sub
Algunas observaciones de este punto, aquí influye mucho la Configuración de la moneda del PC, entonces el símbolo $ (de pesos) debes modificarlo por QUE (que supongo es de Quetzal). Además el símbolo separador de decimales también se selecciona desde la Configuración Regional.
El Procedimiento donde insertar el código puede ser el del ejemplo o el que creas mejor.
Cualquier cosa vuelve a responder.
Muy buenos días, agradezco la rapidez con la cual me has ayudado, este código me ha servido a la perfección y es justo lo que necesitaba, muchas gracias.-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas