Mascara TextBox

11/09/2008 - 00:00 por Fabian | Informe spam
Estoy buscando una mascara para textbox, numeros con 2 decimales,
encontre esto de Hector, alguien sabe como hacerlo?, gracias.
en el modulo de codigo del formulario ==Private Sub TextBox1_Change()
TextBox1 = Format(TextBox1, "#,##0")
End Sub

Preguntas similare

Leer las respuestas

#1 Servando
11/09/2008 - 00:31 | Informe spam
Hola Fabian:

Trataré de enseñarte a pescar...
El signo numeral (#) o gatito como le decimos en Mexico, indica que el
numero es opcional, es decir, si existe lo pone y si no lo omite.Un Cero (0),
indica que es obligatorio mostrar el numero, ejemplo, si declaro un formato
"000" y la entrada es 99, el resultado sera 099, en el tema de los decimales
es similar, si declaras un formato "###,##0.0" y la entrada es 99, el
resultado es 99.0, si el formato es "###,000.00" y la entrada es 99.5, el
resultado que veras es 099.50 con este mismo formato, si la entrada es .5, lo
que veras sera 000.50 y otro mas con este mismo formato, si la entrada es
12050.765 lo que veras sera 12,050.77.

Espero haber sido claro, ahora intenta declarar tu formato de acuerdo a tus
necesidades.


Por favor, retroalimentanos y dinos si esto te fue de utilidad.

Saludos
Servando Villalon
Respuesta Responder a este mensaje
#2 Héctor Miguel
11/09/2008 - 06:35 | Informe spam
hola, Fabian !

Estoy buscando una mascara para textbox, numeros con 2 decimales...
en el modulo de codigo del formulario ==> Private Sub TextBox1_Change()
TextBox1 = Format(TextBox1, "#,##0")
End Sub



(hasta donde se) no existe forma de "enmascarar" en un control textbox por vba
el tipo de entrada (o datos) que "debiera" hacer el usuario (y menos previos a su entrada)

el codigo que encontraste, lo unico que esta haciendo es "machacando" la presentacion en el textbox
(supongo que este era el cometido de la consulta donde se propuso) -?-

por que no comentas "que" es lo que necesitas indicarle al usuario ? (de preferencia, +/- exactamente)
es posible que se pueda aprovechar la propiedad "tiptext" para hacer indicaciones al usuario -?-

saludos,
hector.
Respuesta Responder a este mensaje
#3 Servando
11/09/2008 - 16:23 | Informe spam
Hola Fabian:

Tal y como Hector te comenta, no se puede hacer una mascarilla para un
TextBox de manera que lo presente al evento Change, pero lo que si puedes
hacer es poner una mascarilla en el evento Initialize y tambien en el momento
de depositar el valor en la celda.

Te pongo un pequeño ejemplo que espero te sirva

Private Sub Cancela_Click()
Unload Me
End Sub

Private Sub Captura_Click()
Range("A1").Value = Format(TextBox1, "#,###.00")
Range("A2").Value = Format(TextBox2, "#,###.00")
Unload Me
End Sub

Private Sub UserForm_Initialize()
TextBox1 = Format(Range("A1"), "#,###.00")
TextBox2 = Format(Range("A2"), "#,###.00")
End Sub


Por favor, retroalimentanos y dinos si esto te fue de utilidad.

Saludos
Servando Villalon
Respuesta Responder a este mensaje
#4 Servando
11/09/2008 - 16:36 | Informe spam
Corrijo mi mensaje anterior... SI se puede poner el format en un evento
Change, pero te puede ocasionar algunos problemas, ya que cada pulso que das
sobre el textbox es un evento cambio (Change), por lo que no te conviene
hacer uso del format en este punto.

Por favor, retroalimentanos y dinos si esto te fue de utilidad.

Saludos
Servando Villalon


"Servando" wrote:

Hola Fabian:

Tal y como Hector te comenta, no se puede hacer una mascarilla para un
TextBox de manera que lo presente al evento Change, pero lo que si puedes
hacer es poner una mascarilla en el evento Initialize y tambien en el momento
de depositar el valor en la celda.

Respuesta Responder a este mensaje
#5 Fabian
12/09/2008 - 03:20 | Informe spam
Si...! me fue util... Siempre se aprende algo nuevo..!
Gracias a todos por las respuestas y sugerencias, saludos..!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida