Curso Validación de datos en Excel – Parte #5 – Validar email – @EXCELeINFO
VER PARTE #4 – COMBINAR REGLAS BÁSICAS DE VALIDACIÓN DE DATOS
Estamos a punto de terminar este entrenamiento de Validación de datos en Excel y conforme armo los capítulos, me doy cuenta que Excel tiene mucho que ofrecer incluso con estas herramientas que al principio pueden parecer simples en su uso, pero nos sorprenden en la cantidad de usos útiles que les podemos dar.
Ver video Validación de datos en Excel – Parte #5 – Validar email
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Validar email con fórmulas
En esta parte #5 veremos dos maneras de validar un email con Validación de datos: la primera será mediante una fórmula y la segunda mediante la integración de Validación de datos con macros.
Con respecto al primer ejemplo usaremos la función ENCONTRAR para devolver la posición de la arroba “@”, y en caso de encontrarse en el texto usaremos la función ESNUMERO para devolver VERDADERO o FALSO dependiendo si se encuentra dicho caracter. No dirigimos a la pestaña Datos > Validación de datos. La fórmula que usaremos será:
=ESNUMERO(ENCONTRAR(“@”,C5))
Figura 1. Fórmula personalizada para validar email.
Validar email mediante una UDF (función personalizada con macros)
Para validar un email con macros primero iremos iremos a esta liga para obtener la macro de una UDF para validar emails en Excel.
Código vba de la función personalizada UDF
Option Explicit '*************************************************************************** 'Referencias: Microsoft vb Script Regular Expressions ' http://www.tipsntracks.com/117/validate-an-email-address-using-regular-expressions.html ' https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular '*************************************************************************** Function valida_email_fx(email As String) As Boolean Application.Volatile 'Declaramos variables Dim oReg As RegExp ' Crea un Nuevo objeto RegExp Set oReg = New RegExp On Error GoTo ErrorHandler 'Expresión regular para validar direcciones .com 'oReg.Pattern = "^[\w-\.]+@\w+\.\w+$" ' Expresión regular para validar direcciones .com.mx oReg.Pattern = "^([a-zA-Z0-9_\-\.]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$" ' Comprueba y Retorna TRue o false valida_email_fx = oReg.Test(email) Set oReg = Nothing Exit Function 'En caso de error ErrorHandler: MsgBox "Ha ocurrido un error: ", vbExclamation, "EXCELeINFO" End Function
Pasos para hacer funcionar la UDF
1. En Excel presionamos la combinación de teclas [Ctrl] + [F11].
2. Una vez abierto el IDE de vba, damos click derecho en el proyecto donde quedamos que esté la macro y elegimos Insertar Módulo.
3. Pegamos la macro.
Figura 2. Usaremos la función valida_email_fx para validar emails.
4. Nos vamos al menú Herramientas > Referencias y habilitamos la librería Microsoft VBScript Regular Expresions 1.0.
Figura 3. Activar la librería para usar expresiones regulares es nuestro código vba.
Una vez pegado la macro en el Módulo y activada la librerías de las expresiones regulares. Nos vamos a nuestra hoja de cálculo y en en la celda [F5] ingresamos la siguiente fórmula:
=valida_email_fx(C5)
Seleccionamos el rango [C5:C11] y nos vamos a la pestaña Datos > Validación de datos. En el campo de Personalizada ingresamos la fórmula:
=F5=VERDADERO
Figura 4. Validamos que el resultados de la función sea VERDADERO.
Figura 5. Valida email en Excel con Validación de datos.
Descargar el archivo de ejemplo
EXCELeINFO – Validación de datos en Excel #5 – Valida email.rar