UDF - Extrahera e -postadress från text

Anonim

Om du vill att en process ska hjälpa dig att hämta e -postadressen från strängen är den här artikeln något för dig. I den här artikeln kommer vi att skapa UDF för att dra e -post -id från text.

Fråga): Data jag har innehåller för mycket information i textformat. Jag vill ha en VBA -kod som hjälper mig att extrahera så många e -post -ID: n från texten för att minimera mina manuella ansträngningar.

Vi måste följa stegen nedan:

  • Klicka på fliken Utvecklare
  • Välj Visual Basic i kodgruppen

Ange följande kod i standardmodulen:

Function ExtractEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As Long

Dim TempStr som sträng

Const CharList As String = "[A-Za-z0-9 ._-]"

AtTheRateSignSymbol = InStr (s, "@")

Om AtTheRateSignSymbol = 0 Då

ExtractEmailFromText = ""

Annan

TempStr = ""

För i = AtTheRateSignSymbol - 1 till 1 Steg -1

Om Mid (s, i, 1) som CharList Then

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

Annan

Avsluta för

Avsluta om

Nästa i

Om TempStr = "" Avsluta sedan funktionen

TempStr = TempStr & "@"

För i = AtTheRateSignSymbol + 1 Till Len (s)

Om Mid (s, i, 1) som CharList Then

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

Annan

Avsluta för

Avsluta om

Nästa i

Avsluta om

If Right (TempStr, 1) = "." Sedan TempStr = _

Vänster (TempStr, Len (TempStr) - 1)

ExtractEmailFromText = TempStr

Avsluta funktion

  • I cell B2 är formeln
  • = ExtractEmailFromText (A2)

Vi får resultatet. Se ögonblicksbilden nedan:

Ovanstående kod kommer att extrahera den första e -postadressen om det finns mer än 1 e -post -id i en cell.

På detta sätt kan vi hämta e -post från text.

Ladda ner - Extrahera e -postadress från text - xlsm