UDF - wyodrębnianie adresu e-mail z tekstu

Anonim

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 Long

Dim 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