emails

24/11/2005 - 10:49 por P. Vilardell | Informe spam
Hola a todos, alguien tiene alguna funcion en excel que permita validar una
cadena de texto valida para ser email, es decir, en una columna tengo emails
y quiero comprobar que realmente sean emails (que tenmga la @, que tenga el
.com o .org o ...)

Alguien puede ayudarme.

Muchas gracias a todos.

Preguntas similare

Leer las respuestas

#1 Eliseo Alegre
24/11/2005 - 12:49 | Informe spam
suponiendo que el email es ingresado en la celda A1 vamos a decirle que el la
ceda B1 me diga si es valido o no el email ingresado.

Primero debemos insertar una nueva función, sigue los siguientes pasos:

1.- presiona ALT+F11 para ingresar al editor de Visual Basic de Excel
2.- en el menú selecciona Insertar / Modulo
y luego pega el siguiente codigo:

Public Function validarEmail(email)
Dim partes, parte, i, c
'rompo el email en dos partes, antes y después de la arroba
partes = Split(email, "@")
If UBound(partes) <> 1 Then
'si el mayor indice del array es distinto de 1 es que no he obtenido
las dos partes
validarEmail = False
Exit Function
End If
'para cada parte, compruebo varias cosas
For Each parte In partes
'Compruebo que tiene algún caracter
If Len(parte) <= 0 Then
validarEmail = False
Exit Function
End If
'para cada caracter de la parte
For i = 1 To Len(parte)
'tomo el caracter actual
c = LCase(Mid(parte, i, 1))
'miro a ver si ese caracter es uno de los permitidos
If InStr("._-abcdefghijklmnopqrstuvwxyz", c) <= 0 And Not
IsNumeric(c) Then
validarEmail = False
Exit Function
End If
Next
'si la parte actual acaba o empieza en punto la dirección no es válida
If Left(parte, 1) = "." Or Right(parte, 1) = "." Then
validarEmail = False
Exit Function
End If
Next
'si en la segunda parte del email no tenemos un punto es que va mal
If InStr(partes(1), ".") <= 0 Then
validarEmail = False
Exit Function
End If
'calculo cuantos caracteres hay después del último punto de la segunda
parte del mail
i = Len(partes(1)) - InStrRev(partes(1), ".")
'si el número de caracteres es distinto de 2 y 3
If Not (i = 2 Or i = 3) Then
validarEmail = False
Exit Function
End If
'si encuentro dos puntos seguidos tampoco va bien
If InStr(email, "..") > 0 Then
validarEmail = False
Exit Function
End If
validarEmail = True
End Function


3.- en la celda B1 ingresamos la siguiente fórmula:

=if(validarEmail(A1),"OK","e-mail no válido")

lo acabo de probar en Office 2000 y funciona, espero que te sirva

Saludos
Eliseo Alegre
Buenos Aires - Argentina


"P. Vilardell" wrote:

Hola a todos, alguien tiene alguna funcion en excel que permita validar una
cadena de texto valida para ser email, es decir, en una columna tengo emails
y quiero comprobar que realmente sean emails (que tenmga la @, que tenga el
..com o .org o ...)

Alguien puede ayudarme.

Muchas gracias a todos.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida