UDF - Udtrækning af e -mail -adresse fra tekst

Anonim

Hvis du vil have en proces til at hjælpe dig med at hente e -mail -adressen fra strengen, så er denne artikel noget for dig. I denne artikel vil vi oprette UDF for at trække e -mail -id'et fra tekst.

Spørgsmål): De data, jeg har, indeholder for meget information i tekstformat. Jeg vil have en VBA -kode til at hjælpe mig med at udtrække så mange e -mail -id'er fra teksten for at minimere min manuelle indsats.

Vi skal følge nedenstående trin:

  • Klik på fanen Udvikler
  • Vælg Visual Basic i kodegruppen

Indtast følgende kode i standardmodulet:

Funktion UddragEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As Long

Dim TempStr som streng

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

AtTheRateSignSymbol = InStr (s, "@")

Hvis AtTheRateSignSymbol = 0 Så

ExtractEmailFromText = ""

Andet

TempStr = ""

For i = AtTheRateSignSymbol - 1 til 1 trin -1

Hvis Mid (s, i, 1) kan lide CharList Then

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

Andet

Afslut For

Afslut Hvis

Næste i

Hvis TempStr = "" Afslut derefter funktionen

TempStr = TempStr & "@"

For i = AtTheRateSignSymbol + 1 Til Len (er)

Hvis Mid (s, i, 1) kan lide CharList Then

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

Andet

Afslut For

Afslut Hvis

Næste i

Afslut Hvis

Hvis Right (TempStr, 1) = "." Derefter TempStr = _

Venstre (TempStr, Len (TempStr) - 1)

ExtractEmailFromText = TempStr

Afslut funktion

  • I celle B2 er formlen
  • = ExtractEmailFromText (A2)

Vi får resultatet. Se nedenstående snapshot:

Ovenstående kode vil udtrække den første e -mail -adresse, hvis der er mere end 1 e -mail -id i en celle.

På denne måde kan vi hente e -mail fra tekst.

Download - Udtrækning af e -mail -adresse fra tekst - xlsm