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