Č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 LongZatemni 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