Escrito por Luis Cruz | última actualización: 20 de noviembre del 2019
Validar un email puede ser bastante complicado debido a la cantidad de opciones válidas, un correo electrónico debe tener una arroba y antes debe ir algún texto que puede contener letras, números, guiones y puntos, luego de la arroba puede ir un diferentes textos separados por puntos.
Hasta ahora la mejor forma que he encontrado es usando expresiones regulares, mediante estas podemos buscar textos basándonos en patrones muy complejos. Por ejemplo para identificar un email podríamos usar este patrón:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$
Ahora podemos usar esta expresión en nuestras hojas de cálculo creando una función personalizada.
Validar un email mediante función personalizada
Primero ingresamos al editor de VBA (presionando Ctrl+F11) agregamos un modulo y digitamos este código:
Function validaEmail(email) As Boolean
Dim RegEx As Object
Set RegEx = CreateObject("vbscript.regexp")
With RegEx
.Global = True
.Pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"
End With
validaEmail = RegEx.Test(email)
Set RegEx = Nothing
End Function
Ahora podemos usar esta fórmula personalizada en la hoja de Excel.
