sábado, 22 de junio de 2013

Verifica la dirección de correo electrónico en una celda

En muchas ocasiones, cuando tenemos la necesidad de verificar o comprobar datos en Excel, usamos la herramienta de Validación de datos; sin embargo, para ciertos casos es limitada.
El día de ayer, un alumno me pregunto como validar un correo electrónico en una celda de Excel, y como buen profesor que intento ser, le dije con total naturalidad "No tengo la mas mínima idea..."; al principio se sonrió, porque pensaba que estaba bromeando, pero luego como su expresión cambio, complemente diciendo: "Preguntaré a mi amigo Google y te aviso..."

Luego de preguntarle a mi amigo google encontré la siguiente solución:

Paso 1: Entramos a Visual Basic Application (VBA) presionando las teclas ALT+F11


Paso 2: Hacemos clic en el menú Insertar / Módulo

Paso 3: En la pantalla en blanco copiamos el siguiente código:

Public Function blnEmailValid(ByVal strEmailAdd As String) As Boolean
    With CreateObject("VBScript.RegExp")
        .IgnoreCase = True
        .Global = True
        .Pattern = "^([a-zA-Z0-9_\-\.]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"
        blnEmailValid = .Test(strEmailAdd)
    End With
End Function

Acabamos de crear una función que se llama blnEmailValid y que podremos utilizar en cualquier celda del Excel.

Esta función esta verificando una Expresión regular que contiene un patrón establecido.

Paso 4: Cerramos el VBA y regresamos en Excel.

Paso 5: En la celda C2 escribimos un correo electrónico; y en D2 escribimos la función de la siguiente manera:

blnEmailValid(C2)

Si el correo es correcto nos indica Verdadero, sino Falso


Este truco lo encontre en jldexcelsp

Ahora ya podré darle una respuesta a mi alumno y eso me alegra mucho.

Saludos
Ing. Enrique Neciosup Morales