U slučaju da želite da vam postupak pomogne u dohvaćanju adrese e -pošte iz niza, onda je ovaj članak za vas. U ovom ćemo članku stvoriti UDF za izvlačenje ID -a e -pošte iz teksta.
Pitanje): Podaci koje imam sadrže previše podataka u tekstualnom formatu. Želim da mi VBA kôd pomogne izvući što više ID -ova e -pošte iz teksta kako bih minimizirao svoje ručne napore.
Moramo slijediti korake u nastavku:
- Kliknite karticu Developer
- Iz grupe kodova odaberite Visual Basic
U standardni modul unesite sljedeći kôd:
Funkcija ExtractEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As LongPriguši TempStr kao niz
Const CharList As String = "[A-Za-z0-9 ._-]"
AtTheRateSignSymbol = InStr (s, "@")
Ako je AtTheRateSignSymbol = 0 Tada
ExtractEmailFromText = ""
Drugo
TempStr = "" TempStr = ""
Za i = AtTheRateSignSymbol - 1 do 1 korak -1
Ako je Mid (s, i, 1) Like CharList Then
TempStr = Srednji (s, i, 1) & TempStr
Drugo
Izlaz za
Završi ako
Sljedeći i
Ako je TempStr = "" Zatim izađite iz funkcije
TempStr = TempStr & "@"
Za i = AtTheRateSignSymbol + 1 do Len (s)
Ako je Mid (s, i, 1) Like CharList Then
TempStr = TempStr & Mid (s, i, 1)
Drugo
Izlaz za
Završi ako
Sljedeći i
Završi ako
Ako je desno (TempStr, 1) = "." Tada je TempStr = _
Lijevo (TempStr, Len (TempStr) - 1)
ExtractEmailFromText = TempStr
Završna funkcija
- U ćeliji B2 formula je
- = ExtractEmailFromText (A2)
Dobit ćemo rezultat. Snimku ispod pogledajte:
Gornji kôd izdvojit će prvu adresu e -pošte u slučaju da u ćeliji postoji više od 1 e -adrese.
Na ovaj način možemo dohvatiti e -poštu iz teksta.
Preuzimanje - Izdvajanje adrese e -pošte iz teksta - xlsm