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.