Hvis du vil have en proces til at hjælpe dig med at hente e -mail -adressen fra strengen, så er denne artikel noget for dig. I denne artikel vil vi oprette UDF for at trække e -mail -id'et fra tekst.
Spørgsmål): De data, jeg har, indeholder for meget information i tekstformat. Jeg vil have en VBA -kode til at hjælpe mig med at udtrække så mange e -mail -id'er fra teksten for at minimere min manuelle indsats.
Vi skal følge nedenstående trin:
- Klik på fanen Udvikler
- Vælg Visual Basic i kodegruppen
Indtast følgende kode i standardmodulet:
Funktion UddragEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As LongDim TempStr som streng
Const CharList As String = "[A-Za-z0-9 ._-]"
AtTheRateSignSymbol = InStr (s, "@")
Hvis AtTheRateSignSymbol = 0 Så
ExtractEmailFromText = ""
Andet
TempStr = ""
For i = AtTheRateSignSymbol - 1 til 1 trin -1
Hvis Mid (s, i, 1) kan lide CharList Then
TempStr = Mid (s, i, 1) & TempStr
Andet
Afslut For
Afslut Hvis
Næste i
Hvis TempStr = "" Afslut derefter funktionen
TempStr = TempStr & "@"
For i = AtTheRateSignSymbol + 1 Til Len (er)
Hvis Mid (s, i, 1) kan lide CharList Then
TempStr = TempStr & Mid (s, i, 1)
Andet
Afslut For
Afslut Hvis
Næste i
Afslut Hvis
Hvis Right (TempStr, 1) = "." Derefter TempStr = _
Venstre (TempStr, Len (TempStr) - 1)
ExtractEmailFromText = TempStr
Afslut funktion
- I celle B2 er formlen
- = ExtractEmailFromText (A2)
Vi får resultatet. Se nedenstående snapshot:
Ovenstående kode vil udtrække den første e -mail -adresse, hvis der er mere end 1 e -mail -id i en celle.
På denne måde kan vi hente e -mail fra tekst.
Download - Udtrækning af e -mail -adresse fra tekst - xlsm