Kui soovite, et protsess aitaks teil stringist e -posti aadressi hankida, on see artikkel teie jaoks. Selles artiklis loome UDF -i, et tõmmata e -posti ID tekstist.
Küsimus): Minu käsutuses olevad andmed sisaldavad liiga palju teksti vormingus teavet. Tahan, et VBA -kood aitaks mul tekstist võimalikult palju e -posti ID -sid eraldada, et minimeerida käsitsi tehtavaid jõupingutusi.
Peame järgima järgmisi samme:
- Klõpsake vahekaarti Arendaja
- Valige koodirühmas Visual Basic
Sisestage standardmoodulisse järgmine kood:
Funktsiooni väljavõteE -postDim TempStr stringina
Const CharList nagu string = "[A-Za-z0-9 ._-]"
AtTheRateSignSymbol = InStr (s, "@")
Kui AtTheRateSignSymbol = 0 Siis
ExtractEmailFromText = ""
Muidu
TempStr = ""
I = AtTheRateSignSymbol - 1 kuni 1 samm -1
Kui Mid (s, i, 1) Like CharList then
TempStr = Keskmine (s, i, 1) & TempStr
Muidu
Välju
Lõpp Kui
Edasi i
Kui TempStr = "" Siis välju funktsioonist
TempStr = TempStr & "@"
I = AtTheRateSignSymbol + 1 Len (id)
Kui Mid (s, i, 1) Like CharList then
TempStr = TempStr ja keskmine (s, i, 1)
Muidu
Välju
Lõpp Kui
Edasi i
Lõpp Kui
Kui õige (TempStr, 1) = "." Siis TempStr = _
Vasakule (TempStr, Len (TempStr) - 1)
ExtractEmailFromText = TempStr
Lõppfunktsioon
- Lahtris B2 on valem järgmine
- = ExtractEmailFromText (A2)
Saame tulemuse. Vaadake allolevat hetktõmmist:
Ülaltoodud kood eraldab esimese e -posti aadressi, kui lahtris on rohkem kui 1 e -posti ID.
Sel moel saame kirja saada tekstist.
Allalaadimine - e -posti aadressi väljavõtmine tekstist - xlsm