UDF: extracción de direcciones de correo electrónico a partir de texto

Anonim

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 Long

Dim 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