Jeśli chcesz, aby proces pomógł Ci w odzyskaniu adresu e-mail z ciągu, ten artykuł jest dla Ciebie. W tym artykule utworzymy UDF, aby pobrać identyfikator e-mail z tekstu.
Pytanie): Posiadane przeze mnie dane zawierają zbyt dużo informacji w formacie tekstowym. Chcę, aby kod VBA pomógł mi wyodrębnić jak najwięcej identyfikatorów e-mail z tekstu, aby zminimalizować moje ręczne wysiłki.
Musimy wykonać poniższe kroki:
- Kliknij kartę Deweloper
- Z grupy Kod wybierz Visual Basic
Wprowadź następujący kod w standardowym module:
Function ExtractEmailFromText(s As String) As String Dim AtTheRateSignSymbol As Long Dim i As LongDim TempStr jako ciąg
Const CharList As String = "[A-Za-z0-9._-]"
AtTheRateSignSymbol = InStr(s, "@")
Jeśli AtTheRateSignSymbol = 0, wtedy
ExtractEmailFromText = ""
W przeciwnym razie
TempStr = ""
Dla i = AtTheRateSymbol - 1 do 1 Krok -1
Jeśli Mid(s, i, 1) Like CharList Wtedy
TempStr = Mid(s, i, 1) i TempStr
W przeciwnym razie
Wyjdź dla
Zakończ, jeśli
Dalej ja
Jeśli TempStr = "" Następnie wyjdź z funkcji
TempStr = TempStr & "@"
Dla i = AtTheRateSignSymbol + 1 do Len(ów)
Jeśli Mid(s, i, 1) Like CharList Wtedy
TempStr = TempStr & Mid(s, i, 1)
W przeciwnym razie
Wyjdź dla
Zakończ, jeśli
Dalej ja
Zakończ, jeśli
Jeśli Right(TempStr, 1) = "." Następnie TempStr = _
Left(TempStr, Len(TempStr) - 1)
ExtractEmailFromText = TempStr
Koniec funkcji
- W komórce B2 formuła to
- = Wyodrębnij wiadomość e-mail z tekstu (A2)
Otrzymamy wynik. Zapoznaj się z poniższym zrzutem ekranu:
Powyższy kod wyodrębni pierwszy adres e-mail w przypadku, gdy w komórce jest więcej niż 1 identyfikator e-mail.
W ten sposób możemy pobrać e-mail z tekstu.
Pobierz - wyodrębnianie adresu e-mail z tekstu - xlsm