Cuando trabajamos con userform y tenemos que introducir datos a través de un textbox, muchas veces nos encontramos con el problema de como condicionar que el usuario ingrese un tipo de dato concreto y en caso de no hacerlo que el programa no grabe los datos.

Pues bien, os ofrezco una sencilla macro para condicionar este tipo de tarea. Una vez colocada la instrucción en vuestro editor de VBA y visualicéis el userform y el textbox, al introducir cualquier carácter que no sea un número, aparecerá el mensaje «DEBES INTRODUCIR UN VALOR NÚMERICO» y el cuadro de texto se volverá de color rojo.

Private Sub TextBox1_Change()
validar = IsNumeric(TextBox1.Value)
If validar = False Then
MsgBox "DEBES INTRODUCIR UN VALOR NUMÉRICO"
TextBox1.BackColor = &HFF8&
End If
End Sub


La función realmente importante es Validar =IsNumeric (Textbox1. Value) que ofrece la posibilidad de realizar una validación como si estuviésemos trabajando en una hoja Excel con la validación de datos que todos conocemos.

Esta macro se complementa siempre con otra serie de instrucciones tales como:  grabar datos en una hoja de Excel a través de un userform, limpiar datos de un textbox después de grabar datos y muchas otras que ya iré explicando en entradas sucesivas.

Espero que os sea de utilidad.
Saludos 🙂

Comparte este post