UDF - Izvlečenje e -poštnega naslova iz besedila

Anonim

Če želite, da vam postopek pomaga pri pridobivanju e -poštnega naslova iz niza, je ta članek za vas. V tem članku bomo ustvarili UDF, da poiščemo e -poštni ID iz besedila.

Vprašanje): Podatki, ki jih imam, vsebujejo preveč informacij v besedilni obliki. Želim, da mi koda VBA pomaga izvleči čim več e -poštnih ID -jev iz besedila, da zmanjšam ročna prizadevanja.

Slediti moramo naslednjim korakom:

  • Kliknite zavihek Razvijalec
  • V skupini Koda izberite Visual Basic

V standardni modul vnesite naslednjo kodo:

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

Zatemni TempStr kot niz

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

AtTheRateSignSymbol = InStr (s, "@")

Če je AtTheRateSignSymbol = 0 Potem

ExtractEmailFromText = ""

Sicer pa

TempStr = ""

Za i = AtTheRateSignSymbol - 1 do 1 korak -1

Če Mid (s, i, 1) Všeč mi je CharList

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

Sicer pa

Izhod za

Konec Če

Naprej i

Če je TempStr = "" Nato zapustite funkcijo

TempStr = TempStr & "@"

Za i = AtTheRateSignSymbol + 1 do Len (s)

Če Mid (s, i, 1) Všeč mi je CharList

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

Sicer pa

Izhod za

Konec Če

Naprej i

Konec Če

Če je desno (TempStr, 1) = "." Potem je TempStr = _

Levo (TempStr, Len (TempStr) - 1)

ExtractEmailFromText = TempStr

Končana funkcija

  • V celici B2 je formula
  • = ExtractEmailFromText (A2)

Dobili bomo rezultat. Glejte spodnji posnetek:

Zgornja koda bo izvlekla prvi e -poštni naslov, če je v celici več kot 1 e -poštni ID.

Na ta način lahko pridobimo e -pošto iz besedila.

Prenos - Izvlečenje e -poštnega naslova iz besedila - xlsm