UDF - Extraindo endereço de e-mail do texto

Anonim

Caso você queira um processo que o ajude a recuperar o endereço de e-mail da string, este artigo é para você. Neste artigo, criaremos UDF para extrair a id do e-mail do texto.

Pergunta): Os dados que tenho contêm muitas informações em formato de texto. Quero um código VBA para me ajudar a extrair o máximo de ids de e-mail do texto para minimizar meus esforços manuais.

Precisamos seguir as etapas abaixo:

  • Clique na guia Desenvolvedor
  • No grupo Código, selecione Visual Basic

Insira o seguinte código no módulo padrão:

Função 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, "@")

Se AtTheRateSignSymbol = 0 Then

ExtractEmailFromText = ""

Outro

TempStr = ""

Para i = AtTheRateSignSymbol - 1 a 1 etapa -1

Se Mid (s, i, 1) gostar de CharList, então

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

Outro

Sair para

Fim se

Proximo eu

Se TempStr = "" Então saia da função

TempStr = TempStr & "@"

Para i = AtTheRateSignSymbol + 1 para Len (s)

Se Mid (s, i, 1) gostar de CharList, então

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

Outro

Sair para

Fim se

Proximo eu

Fim se

If Right (TempStr, 1) = "." Então TempStr = _

Esquerda (TempStr, Len (TempStr) - 1)

ExtractEmailFromText = TempStr

Função Final

  • Na célula B2, a fórmula é
  • = ExtractEmailFromText (A2)

Obteremos o resultado. Consulte o instantâneo abaixo:

O código acima extrairá o primeiro endereço de e-mail caso haja mais de 1 id de e-mail em uma célula.

Desta forma, podemos recuperar o e-mail a partir do texto.

Download - Extraindo endereço de e-mail do texto - xlsm