Primero crearemos un userform el cual tendrá dos textbox, uno de los textbox solo permitirá el ingreso de números y el otro solo permitirá el ingreso de letras.
1) Para validar el ingreso de números en el primer textbox tendremos que introducir el siguiente código relacionado al evento textbox1.Change:
Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1.Text) And _
TextBox1.Text <> "" Then
Beep
MsgBox "Se debe ingresar solo números"
TextBox1.Text = ""
TextBox1.SetFocus
End If
End Sub
El código indica mediante el condicional IF, que si lo ingresado en el textbox1 no es un valor numérico y a la vez no se trate del caso en el que el textbox se encuentre vacío (por ejemplo en caso ingrese un numero y lo borre) borre el carácter ingresado y envié el mensaje “Se debe ingresar solo números a través de un msgbox
2) Para validar el ingreso de text0 en el Segundo textbox tendremos que introducir el siguiente código relacionado evento textbox2.Change:
Private Sub TextBox2_Change()
If IsNumeric(TextBox2) And _
TextBox2.Text <> "" Then
Beep
MsgBox "Se debe ingresar solo Texto"
TextBox2.Text = ""
TextBox2.SetFocus
End If
End Sub
El código indica mediante el condicional IF, que si lo ingresado en el textbox2 es un valor numérico borre el carácter ingresado y envié el mensaje “Se debe ingresar solo texto a través de un msgbox
Validar ingreso de numeros y Texto a un Textbox
Elaborado por: Luis Agustin Gaitan Murillo
06/06/2013 a las 2:40 pm
Tambien se puede hacer que el TextBox de un formulario solo acepte letras o solo acepte números, deberias usar el evento KeyPress del TexBox en mencion.
29/06/2013 a las 6:31 pm
Hola a todos un textbox de no permitir símbolos:
No permitir simbolos
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii >= 33) And (KeyAscii = 58) And (KeyAscii = 91) And (KeyAscii = 123) And (KeyAscii <= 126) Then
MsgBox "Nada de simbolos"
KeyAscii = 8
End If
End Sub
Espero te sirva, hasta pronto.
23/09/2013 a las 9:54 pm
Tu macro me recordó que también necesito realizar algo similar pero no con un aviso, sino que cada vez que reconozca algún simbolo que no necesito, simplemente sea eliminado (y señalar el espacio, ahora en blanco con un color). Esto porque cuando se envía información de una plataforma a otra el orden de los datos es importante y no debe variar, sino solo ser reemplazado por un valor correcto.
04/08/2013 a las 8:03 pm
como puedo hacer para validar que un contenido del textbox este entre un margen de 0 a 20 denme un ejemplo porfavor
09/08/2013 a las 6:35 pm
Utilizando un botón para ingresar el número una forma de verificar si el número que se colocó en la caja de texto esta entre 1 y 20 sería:
Private Sub CommandButton1_Click()
If Not IsNumeric(TextBox1) Then
MsgBox "Debe ingresar un número"
Else
If Not (TextBox1 >= 0 And TextBox1 <= 20) Then
MsgBox "Debe ingresar un número entre 0 y 20"
Else
MsgBox "Ingreso el valor: " & TextBox1.Value
End If
End If
End Sub
19/10/2014 a las 12:04 am
tengo el mismo problema, pero resulta que tengo q poner un numero entre 4 y 60, me sale mi mensage de error cuando quiero poner 30, me reconcoe primero el 3 y me salta el error este es mi codigo
Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
If TextBox5.Text = "" Then
TextBox5.Text = 4
ElseIf Not IsNumeric(TextBox5.Text) Then
MsgBox("debe ingresar un numero")
TextBox5.Text = 4
ElseIf ((TextBox5.Text) > 60 Or (TextBox5.Text) < 4) Then
MsgBox("el tiempo debe estar entre 4 y 60")
TextBox5.Text = 4
End If
End Sub
13/09/2018 a las 11:57 am
Asumo que es por el .text que estas agregando ((TextBox5>60) or (TextBox560) or (Val(TextBox5)<4)). Si no estoy mal el .text toma como texto el dato y no seria comparable numéricamente.
09/08/2013 a las 7:09 pm
Este ejemplo es para verificar que se ingreso un número entero, sin límite de valor, utilizando un formulario con la caja de texto TexTBox2 y un botón CommandButton1 :
Private Sub CommandButton1_Click()
valido = False
If IsNumeric(TextBox2) Then
valido = True
'verificar si se ingresaron caracteres entre 0 y 9
For i = 1 To Len(TextBox2)
If (Mid(TextBox2, i, 1)) "." Then ' verificamos caracter por caracter
Caracter = CInt(Mid(TextBox2, i, 1))
If Not Caracter "" Then
valido = False
End If
Else
valido = False
End If
Next i
If valido = True Then
MsgBox "Ingreso el valor entero: " & TextBox2.Value
Else
MsgBox "Debe ingresar un número entero"
End If
Else
MsgBox "Debe ingresar un número entero"
End If
End Sub
13/02/2014 a las 3:00 pm
Profesor
Para que sirve la instrucción "Beep"?
Saludos
27/10/2014 a las 1:15 am
beep hace referencia a un sonido que emitirá el codigo en esa linea.
14/02/2014 a las 12:18 am
Profesor
En el Procedimiento figura la instrucción "Beep", para que sirve dicha instrucción?
Gracias
14/02/2014 a las 8:42 am
Profesor
Dos consultas:
1. Qué realiza la instrucción TextBox2.SetFocus, y
2. De qué depende que se use sólo TextBox o TextBox.Text?
Gracias
27/10/2014 a las 1:20 am
Luis,
1. textbox2.setfocus es para que el cursor esté en el objeto textbox2
2. TextBox hace referencia unicamente al objeto en en si, es decir llama al objeto TextBox, a diferencia del TextBox.Text que se refiere al contenido del objeto, en este caso texto.
saludos.
27/10/2014 a las 7:26 pm
1. Qué realiza la instrucción TextBox2.SetFocus:
Ubica el cursor en el objeto textbox2, también se dice que coloca el foco en el objeto.
2. De qué depende que se use sólo TextBox o TextBox.Text?
TextBox es el objeto, Text es una de sus propiedades, es el texto que se muestra en el objeto TextBox. Por ello, si deseamos asignarle un texto al objeto Textbox debemos asignarle el valor a su propiedad Text de la siguiente manera: TextBox.Text= "Valor"
16/02/2014 a las 12:39 pm
Es importante la validación de datos, sean numéricos o de texto, para no introducir valores distintos a los solicitados. Por ejemplo si se solicita numero de DNI y se introducen por error letras.
23/03/2014 a las 1:52 pm
El código del mamigo no es malo pero tampoco es muy bueno
Private Sub TextBox2_Change()
If IsNumeric(TextBox2) And _
TextBox2.Text “” Then
Beep
MsgBox “Se debe ingresar solo Texto”
TextBox2.Text = “”
TextBox2.SetFocus
End If
End Sub
¿Porque? porque si entro una letra y sigo con números ME LO PERMITE Y NO DEVERIA PERMITIR NUMEROS EN NINGUN PUESTO
21/06/2018 a las 1:17 pm
cual seria el codigo que valide solo texto.??
01/05/2014 a las 7:05 pm
Probé el código de Joao y efectivamente en un textbox de solo números no acepta números en cualquier posición del texto. Gracias a los demés también por el aporte.
04/05/2014 a las 12:41 pm
Buen ejemplo, muy claro y útil. Es muy importante enmarcar los procedimientos que debe realizar el usuario dentro de un formulario, ya que gracias a este se obtienen los datos de entrada para cualquier procedimiento que se haya diseñado. Este ejemplo muestra claramente como ayudamos al usuario a ingresar información al programa y si esta no es del tipo que debió ingresar le reportamos un mensaje para que ingrese correctamente los datos. En caso no se realizará esto se tendría tal vez reportes de errores en el programa debido a que no se pudo procesar un dato porque no es del tipo adecuado.
28/07/2014 a las 12:26 pm
Veo que muchas de esas funciones se mejoraron en VB. Net y cuando la hoja Excel desplazará su programación a VB .Net... Sería formidable
02/08/2014 a las 1:02 pm
Excelente aporte sobre restricciones y validaciones, me sirvio para poder realizar un formulario de matricula donde los textbox para nombres y apellidos solo acepten texto y restringan el ingreso de numeros y tambien simbolos y claro sean de una longitud determinada...muchas gracias
02/08/2014 a las 9:58 pm
Aplicaciones que encontre con para validar datos es la codificacion de los equipos de una planta concentradora (8 digitos), la cantidad de horas de parada de un equipo, si en mayor a 48 horas, es una falla grave, otro es el codigo del trabajador que reporto, debe ser numerico y es importnate sabe quin reporto.
La logica no es complicada y puede ser facilmente extraible para ser usada en otro libro.
02/08/2014 a las 11:54 pm
si quisiera validar varios texbox ? con numeros y texto ?
24/09/2014 a las 12:01 pm
¿Qué significa Beep?
28/09/2014 a las 9:00 pm
Beep es un sonido emitido por el equipo en que esta ejecutando la macro.
28/02/2015 a las 5:23 pm
Excelente! El detalle hace que se aplique fácilmente!
01/03/2015 a las 10:57 pm
Es muy útil ya que muestra un mensaje indicando el error correspondiente y así evitar un mal ingreso de datos.
18/04/2015 a las 5:50 pm
Buen caso de validación para texto y números, para no cometer errores especialmente cuando se trabaja con amplios datos.
18/04/2015 a las 11:51 pm
Habrá algún código para poner un límite a los datos que se escriban en el formulario? Por ejemplo, que sólo se admitan 8 número.
Saludos!