Impedir que se escriba en textbox el caracter "-" ó "/" en VBA Excel 2010

Expertos estoy desarrollando un formulario de entrada de datos para una base de personal, pero me topé con una cuestión, en el área de Número de teléfono quisiera limitar el ingreso de texto a solo números, ya que en el evento Exit puse el formato:

TextBox1 = Format(TextBox1, "0##-###-###-####")

Que es el formato con el que se deberán guardar los número telefónicos, he visto unas soluciones como mostrar un mensaje y/o borrar todo el texto que se esta escribiendo en el Textbox, pero no me parecen muy viables, mi pregunta es si hay algún código que "inactive" el ingreso de cualquier caracter si no son numeros, es decir que si escribo un signo o letra simplemente no lo escriba.

1 respuesta

Respuesta
1

Le comparto una solución que pude darle yo mismo a mi problema.

Espero les sea de utilidad en algo, básicamente lo que hace este código es borrar los últimos dos caracteres si detecta una letra o signo que no sea número, quizás se pregunten porque los dos últimos, resulta que si borro solo uno y escribo un guion medio y después un numero como por ejemplo escribiendo el numero de teléfono 044951-236, solo me borraría el dos y me dejaría el guion medio a menos que sea una letra, quizás sea una solución muy simple pero si de algo les sirve se los dejo.

Si tienen alguna sugerencia o respuesta mejor

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If Not IsNumeric(UserForm1.TextBox1.Text) And _
UserForm1.TextBox1.Text <> "" Then
KeyAscii = 0
TextBox1.Text = Mid(TextBox1.Text, 1, Len(TextBox1.Text) - 2)
MsgBox ("POR FAVOR NO INGRESES GUIONES O LETRAS")
End If

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas