En caso de que desee un proceso que le ayude a recuperar la dirección de correo electrónico de la cadena, este artículo es para usted. En este artículo, crearemos UDF para extraer la identificación del correo electrónico del texto.
Pregunta): Los datos que tengo contienen demasiada información en formato de texto. Quiero un código VBA que me ayude a extraer la mayor cantidad de identificaciones de correo electrónico del texto para minimizar mis esfuerzos manuales.
Necesitamos seguir los pasos a continuación:
- Haga clic en la pestaña Desarrollador
- Desde el grupo Código, seleccione Visual Basic
Ingrese el siguiente código en el módulo estándar:
Función ExtractEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As LongDim TempStr como cadena
Const CharList como cadena = "[A-Za-z0-9 ._-]"
AtTheRateSignSymbol = InStr (s, "@")
Si AtTheRateSignSymbol = 0, entonces
ExtractEmailFromText = ""
Demás
TempStr = ""
Para i = AtTheRateSignSymbol - 1 a 1 paso -1
Si Mid (s, i, 1) como CharList, entonces
TempStr = Mid (s, i, 1) y TempStr
Demás
Salir para
Terminara si
Siguiente yo
Si TempStr = "", salga de la función
TempStr = TempStr & "@"
Para i = AtTheRateSignSymbol + 1 a Len (s)
Si Mid (s, i, 1) como CharList, entonces
TempStr = TempStr y Mid (s, i, 1)
Demás
Salir para
Terminara si
Siguiente yo
Terminara si
Si Derecha (TempStr, 1) = "." Entonces TempStr = _
Izquierda (TempStr, Len (TempStr) - 1)
ExtractEmailFromText = TempStr
Función final
- En la celda B2, la fórmula es
- = Extraer correo electrónico desde texto (A2)
Obtendremos el resultado. Consulte la siguiente instantánea:
El código anterior extraerá la primera dirección de correo electrónico en caso de que haya más de 1 identificación de correo electrónico en una celda.
De esta manera, podemos recuperar el correo electrónico desde el texto.
Descargar - Extracción de la dirección de correo electrónico del texto - xlsm