UDF - e -posti aadressi väljavõtmine tekstist

Anonim

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 -post

Dim 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