Restringir ingreso de texto o números en TextBox en Excel
El presente artículo muestra un formulario en el que tenemos 2 TextBoxes: uno para ingresar sólo texto y otro para ingresar sólo números.
Cómo funciona
- Sólo números: aquí utilizamos la función Chr(x), donde especificamos que si el caracter es menor a 48 (0) y mayor a 57 (9) entonces éste deberá reemplazarse con “”, es decir, vacío.
- Sólo texto: aquí utilizamos la función IsText para validar que todo lo que no sea texto se reemplace con “”, es de decir, vacío.
Ver video Permitir sólo texto o números en TextBox de Formulario en Excel VBA
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Código
Los siguientes códigos deberán ir en el Change de cada uno de los TextBoxes
'Validar que sólo se ingresen números (a-z y símbolos) Private Sub txtNumero_Change() Dim Texto As Variant Dim Caracter As Variant Dim Largo As Integer On Error Resume Next Texto = Me.txtNumero.Value Largo = Len(Me.txtNumero.Value) For i = 1 To Largo Caracter = Mid(Texto, i, 1) If Caracter <> "" Then If Caracter < Chr(48) Or Caracter > Chr(57) Then Me.txtNumero.Value = Replace(Texto, Caracter, "") Else End If End If Next i On Error GoTo 0 Caracter = 0 Caracter1 = 0 End Sub ' 'Validar que sólo se ingrese texto (0-9) Private Sub txtTexto_Change() Dim Texto As Variant Dim Caracter As Variant Dim Largo As String On Error Resume Next Texto = Me.txtTexto.Value Largo = Len(Me.txtTexto.Value) For i = 1 To Largo Caracter = CInt(Mid(Texto, i, 1)) If Caracter <> "" Then If Not Application.WorksheetFunction.IsText(Caracter) Then Me.txtTexto.Value = Replace(Texto, Caracter, "") Else End If End If Next i On Error GoTo 0 End Sub
Animación del formulario en ejecución
Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.