UDF - extrahovanie e -mailovej adresy z textu

Obsah

V prípade, že chcete, aby vám proces pomohol pri získavaní e -mailovej adresy z reťazca, potom je tento článok pre vás. V tomto článku vytvoríme UDF na vytiahnutie ID e -mailu z textu.

Otázka): Údaje, ktoré mám, obsahujú príliš veľa informácií v textovom formáte. Chcem kód VBA, ktorý mi pomôže extrahovať z textu toľko e -mailových ID, aby sa minimalizovalo moje manuálne úsilie.

Musíme postupovať podľa nasledujúcich krokov:

  • Kliknite na kartu Vývojár
  • V skupine Kód vyberte položku Visual Basic

Do štandardného modulu zadajte nasledujúci kód:

Funkcia ExtractEmailFromText (s ako reťazec) Ako reťazec Dim AtTheRateSignSymbol Ako dlhý Dim a taký dlhý

Dim TempStr ako reťazec

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

AtTheRateSignSymbol = InStr (s, "@")

Ak AtTheRateSignSymbol = 0 Potom

ExtractEmailFromText = ""

Inak

TempStr = ""

Pre i = AtTheRateSignSymbol - 1 až 1 krok -1

Ak sa Mid (s, i, 1) Páči sa mi CharList Potom

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

Inak

Ukončiť pre

Koniec Ak

Ďalej i

Ak TempStr = "" Potom ukončite funkciu

TempStr = TempStr & "@"

For i = AtTheRateSignSymbol + 1 to Len (s)

Ak sa Mid (s, i, 1) Páči sa mi CharList Potom

TempStr = TempStr a stred (s, i, 1)

Inak

Ukončiť pre

Koniec Ak

Ďalej i

Koniec Ak

Ak je správne (TempStr, 1) = "." Potom TempStr = _

Vľavo (TempStr, Len (TempStr) - 1)

ExtractEmailFromText = TempStr

Koncová funkcia

  • V bunke B2 je vzorec
  • = ExtractEmailFromText (A2)

Dostaneme výsledok. Pozrite si nižšie uvedenú snímku:

Vyššie uvedený kód extrahuje prvú e -mailovú adresu v prípade, že je v bunke viac ako 1 ID e -mailu.

Týmto spôsobom môžeme získať e -maily z textu.

Stiahnuť - Extrahovanie e -mailovej adresy z textu - xlsm

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave