文字列からメールアドレスを取得するのに役立つプロセスが必要な場合は、この記事が役に立ちます。この記事では、テキストからメールIDを取得するUDFを作成します。

質問):私が持っているデータには、テキスト形式の情報が多すぎます。手作業を最小限に抑えるために、テキストからできるだけ多くの電子メールIDを抽出するのに役立つVBAコードが必要です。

以下の手順に従う必要があります:

[開発者]タブをクリックします。[コード]グループから、[VisualBasic]を選択します

img1

===

標準モジュールに次のコードを入力します:

関数ExtractEmailFromText(s As String)As String Dim AtTheRateSignSymbol As Long Dim i As Long

Dim TempStr As String

Const CharList As String = “[A-Za-z0-9 ._-]”

===

AtTheRateSignSymbol = InStr(s、 “@”)

AtTheRateSignSymbol = 0の場合

ExtractEmailFromText = “”

その他

TempStr = “”

For i = AtTheRateSignSymbol-1対1ステップ-1

If Mid(s、i、1)Like CharList Then

TempStr = Mid(s、i、1)&TempStr

その他

終了

終了If

次の私

If TempStr = “” Then Exit Function

TempStr = TempStr& “@”

For i = AtTheRateSignSymbol + 1 To Len(s)

If Mid(s、i、1)Like CharList Then

TempStr = TempStr&Mid(s、i、1)

その他

終了

終了If

次の私

終了If

If Right(TempStr、1)= “。”次に、TempStr = _

Left(TempStr、Len(TempStr)-1)

ExtractEmailFromText = TempStr

終了関数

img2

  • セルB2では、数式は

です。 === * = ExtractEmailFromText(A2)

結果が出ます。以下のスナップショットを参照してください:

img3

上記のコードは、セルに複数のメールIDがある場合に、最初のメールアドレスを抽出します。

このようにして、テキストからメールを取得できます。

image 19