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