UDF - Pakk ut e -postadresse fra tekst

Anonim

Hvis du vil at en prosess skal hjelpe deg med å hente e -postadressen fra strengen, er denne artikkelen noe for deg. I denne artikkelen vil vi lage UDF for å trekke e -post -ID -en fra tekst.

Spørsmål): Dataene jeg har inneholder for mye informasjon i tekstformat. Jeg vil ha en VBA -kode for å hjelpe meg med å trekke ut så mange e -post -ID -er fra teksten for å minimere min manuelle innsats.

Vi må følge trinnene nedenfor:

  • Klikk på kategorien Utvikler
  • Velg Visual Basic fra kodegruppen

Skriv inn følgende kode i standardmodulen:

Funksjon ExtractEmailFromText (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 Da

ExtractEmailFromText = ""

Ellers

TempStr = ""

For i = AtTheRateSignSymbol - 1 til 1 trinn -1

Hvis Mid (s, i, 1) liker CharList Then

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

Ellers

Avslutt for

Slutt om

Neste jeg

Hvis TempStr = "" Så avslutt funksjonen

TempStr = TempStr & "@"

For i = AtTheRateSignSymbol + 1 Til Len (er)

Hvis Mid (s, i, 1) liker CharList Then

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

Ellers

Avslutt for

Slutt om

Neste jeg

Slutt om

Hvis Høyre (TempStr, 1) = "." Deretter TempStr = _

Venstre (TempStr, Len (TempStr) - 1)

ExtractEmailFromText = TempStr

Sluttfunksjon

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

Vi får resultatet. Se øyeblikksbildet nedenfor:

Koden ovenfor trekker ut den første e -postadressen i tilfelle det er mer enn 1 e -post -ID i en celle.

På denne måten kan vi hente e -post fra tekst.

Last ned - Pakk ut e -postadresse fra tekst - xlsm