Como extrair endereços de email em uma planilha do Excel

Uma lista de endereços de e-mail do Excel deve conter apenas os endereços propriamente ditos. No entanto, se a planilha recebeu seus dados de um formulário externo, a coluna pode conter texto irrelevante. Uma célula pode ler "Meu endereço é [email protected]" e outra pode dizer "contato em [email protected]". Você pode extrair os endereços de email em uma nova coluna para que o Excel possa usá-los para aplicativos como mala direta. Um método de fazer isso é escrever um script do Visual Basic.

Escreva a função

1

Pressione as teclas "Alt" e "F11" para abrir o editor do Visual Basic do Excel.

2

Digite o seguinte código para abrir uma nova função:

Função ExtractCellEmail (cell As Range) As String

3

Adicione o seguinte código para extrair todo o texto de uma determinada célula:

Dim text As String contents = cell.Text

4

Adicione o seguinte código para identificar a posição do símbolo "@" no texto:

AtPosition = InStr (1, conteúdo, "@")

5

Adicione as duas linhas seguintes para identificar as posições inicial e final do endereço de email usando a posição do símbolo "@":

AddressStartingPosition = InStrRev (conteúdo, "", AtPosition) AddressEndingPosition = InStr (AtPosition, contents, "")

6

Adicione a seguinte linha para extrair o endereço de email usando as posições inicial e final:

emailAddress = Trim (Mid (contents, AddressStartingPosition, AddressEndingPosition - AddressStartingPosition))

7

Adicione a seguinte linha para imprimir o endereço extraído em uma célula adjacente:

ActiveCell.Offset (0, 1) .Value = emailAddress

8

Digite o seguinte código para fechar a função:

Função final

Aplicar a função a um intervalo de células

1

Digite o seguinte código após a função para abrir uma nova macro:

Sub mcrExtractColumnAddresses ()

2

Digite o seguinte código para abrir um loop:

Faz

3

Digite o seguinte código após a linha de loop para chamar a função que você escreveu:

Chamar ExtractEmails (ActiveCell)

4

Digite o seguinte código após a linha anterior para selecionar a próxima célula na coluna:

ActiveCell.Offset (1, 0) .Selecione

5

Adicione a seguinte linha para fechar o loop:

Loop Até IsEmpty (ActiveCell)

6

Adicione o seguinte código para fechar a macro:

End Sub

7

Mude para a janela da planilha.

8

Selecione a primeira célula cujo endereço de email você deseja extrair.

9

Alterne de volta para a janela do Visual Basic. Coloque o cursor do mouse no bloco mcrExtractColumnAddresses (), se ainda não estiver lá.

10

Pressione a tecla "F5" para executar a macro e extrair os endereços de email.

Aviso

  • Esse processo funciona desde que os únicos símbolos "@" sejam aqueles nos endereços de e-mail. Você pode seguramente assumir que isso será verdadeiro para a maioria das células, mas considere percorrer a lista de endereços de e-mail extraídos para detectar erros manualmente.

Publicações Populares