En caso de que desee un proceso que lo 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 tantos identificadores 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

img1

===

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 = «»

Else

TempStr = «»

Para i = AtTheRateSignSymbol – 1 a 1 paso -1

Si Mid (s, i, 1) como CharList, entonces

TempStr = Mid (s, i, 1) y TempStr

Else

Salir para

Finalizar si

Siguiente i

Si TempStr = «» Entonces salga de la función

TempStr = TempStr & «@»

Para i = AtTheRateSignSymbol + 1 Para Len (s)

Si Mid (s, i, 1) como CharList, entonces

TempStr = TempStr y Mid (s, i, 1)

Else

Salir para

Finalizar si

Siguiente i

Finalizar si

Si es Derecha (TempStr, 1) = «.» Entonces TempStr = _

Izquierda (TempStr, Len (TempStr) – 1)

ExtractEmailFromText = TempStr

Finalizar función

img2

  • En la celda B2, la fórmula es

* = ExtractEmailFromText (A2)

Obtendremos el resultado. Consulte la instantánea a continuación:

img3

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.

image 19