UDF - Sähköpostiosoitteen poimiminen tekstistä

Anonim

Jos haluat prosessin auttavan sinua hakemaan sähköpostiosoitteen merkkijonosta, tämä artikkeli on sinua varten. Tässä artikkelissa luomme UDF: n, joka vetää sähköpostitunnuksen tekstistä.

Kysymys): Minulla olevat tiedot sisältävät liikaa tietoa tekstimuodossa. Haluan VBA -koodin auttavan minua poimimaan mahdollisimman monta sähköpostitunnusta tekstistä manuaalisten ponnistelujen minimoimiseksi.

Meidän on noudatettava seuraavia vaiheita:

  • Napsauta Kehittäjä -välilehteä
  • Valitse koodiryhmästä Visual Basic

Syötä seuraava koodi vakiomoduuliin:

Function ExtractEmailFromText (s merkkijonona) merkkijono himmeänä

Dim TempStr merkkijonona

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

AtTheRateSignSymbol = InStr (s, "@")

Jos AtTheRateSignSymbol = 0 Sitten

ExtractEmailFromText = ""

Muu

TempStr = ""

Sillä i = AtTheRateSignSymbol - 1 to 1 Step -1

Jos Mid (s, i, 1) kuten CharList then

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

Muu

Lopeta

Loppu Jos

Seuraavaksi minä

Jos TempStr = "" Lopeta sitten toiminto

TempStr = TempStr & "@"

Sillä i = AtTheRateSignSymbol + 1 Lenille

Jos Mid (s, i, 1) kuten CharList then

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

Muu

Lopeta

Loppu Jos

Seuraavaksi minä

Loppu Jos

Jos oikea (TempStr, 1) = "." Sitten TempStr = _

Vasen (TempStr, Len (TempStr) - 1)

ExtractEmailFromText = TempStr

Lopeta toiminto

  • Solussa B2 kaava on
  • = ExtractEmailFromText (A2)

Saamme tuloksen. Katso alla oleva kuva:

Yllä oleva koodi poimii ensimmäisen sähköpostiosoitteen, jos solussa on enemmän kuin yksi sähköpostitunnus.

Tällä tavalla voimme hakea sähköpostin tekstistä.

Lataa - Sähköpostiosoitteen purkaminen tekstistä - xlsm