În cazul în care doriți un proces care să vă ajute în recuperarea adresei de e-mail din șir, atunci acest articol este pentru dvs. În acest articol, vom crea UDF pentru a extrage ID-ul de e-mail din text.
Întrebare): Datele pe care le conțin conțin prea multe informații în format text. Vreau un cod VBA care să mă ajute să extrag cât mai multe ID-uri de e-mail din text pentru a minimiza eforturile mele manuale.
Trebuie să urmăm pașii de mai jos:
- Faceți clic pe fila Dezvoltator
- Din grupul de coduri, selectați Visual Basic
Introduceți următorul cod în modulul standard:
Funcție ExtractEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As LongDim TempStr As String
Const CharList As String = "[A-Za-z0-9 ._-]"
AtTheRateSignSymbol = InStr (s, "@")
Dacă AtTheRateSignSymbol = 0 Atunci
ExtractEmailFromText = ""
Altfel
TempStr = ""
Pentru i = AtTheRateSignSymbol - 1 la 1 Pasul -1
Dacă Mid (s, i, 1) Îmi place CharList atunci
TempStr = Mid (s, i, 1) & TempStr
Altfel
Ieșiți pentru
End If
Apoi eu
Dacă TempStr = "" Apoi ieșiți din funcție
TempStr = TempStr & "@"
Pentru i = AtTheRateSignSymbol + 1 către Len (s)
Dacă Mid (s, i, 1) Îmi place CharList atunci
TempStr = TempStr & Mid (s, i, 1)
Altfel
Ieșiți pentru
End If
Apoi eu
End If
Dacă dreapta (TempStr, 1) = "." Apoi TempStr = _
Stânga (TempStr, Len (TempStr) - 1)
ExtractEmailFromText = TempStr
Funcția de sfârșit
- În celula B2, formula este
- = ExtractEmailFromText (A2)
Vom obține rezultatul. Consultați mai jos instantaneu:
Codul de mai sus va extrage prima adresă de e-mail în cazul în care există mai mult de 1 ID de e-mail într-o celulă.
În acest fel, putem prelua e-mailurile din text.
Descărcare - Extragerea adresei de e-mail din text - xlsm