Om du vill att en process ska hjälpa dig att hämta e -postadressen från strängen är den här artikeln något för dig. I den här artikeln kommer vi att skapa UDF för att dra e -post -id från text.
Fråga): Data jag har innehåller för mycket information i textformat. Jag vill ha en VBA -kod som hjälper mig att extrahera så många e -post -ID: n från texten för att minimera mina manuella ansträngningar.
Vi måste följa stegen nedan:
- Klicka på fliken Utvecklare
- Välj Visual Basic i kodgruppen
Ange följande kod i standardmodulen:
Function ExtractEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As LongDim TempStr som sträng
Const CharList As String = "[A-Za-z0-9 ._-]"
AtTheRateSignSymbol = InStr (s, "@")
Om AtTheRateSignSymbol = 0 Då
ExtractEmailFromText = ""
Annan
TempStr = ""
För i = AtTheRateSignSymbol - 1 till 1 Steg -1
Om Mid (s, i, 1) som CharList Then
TempStr = Mid (s, i, 1) & TempStr
Annan
Avsluta för
Avsluta om
Nästa i
Om TempStr = "" Avsluta sedan funktionen
TempStr = TempStr & "@"
För i = AtTheRateSignSymbol + 1 Till Len (s)
Om Mid (s, i, 1) som CharList Then
TempStr = TempStr & Mid (s, i, 1)
Annan
Avsluta för
Avsluta om
Nästa i
Avsluta om
If Right (TempStr, 1) = "." Sedan TempStr = _
Vänster (TempStr, Len (TempStr) - 1)
ExtractEmailFromText = TempStr
Avsluta funktion
- I cell B2 är formeln
- = ExtractEmailFromText (A2)
Vi får resultatet. Se ögonblicksbilden nedan:
Ovanstående kod kommer att extrahera den första e -postadressen om det finns mer än 1 e -post -id i en cell.
På detta sätt kan vi hämta e -post från text.
Ladda ner - Extrahera e -postadress från text - xlsm