Como enviar um e-mail para vários destinatários de uma lista no Excel através do Outlook?
Em muitos cenários profissionais, poderá encontrar situações em que tem uma lista de Endereço de Email armazenada numa coluna de uma folha de cálculo do Excel, por exemplo, ao distribuir newsletters, enviar faturas ou notificar participantes de um evento. Em vez de introduzir manualmente cada endereço ou abrir o Outlook para criar o e-mail, o Excel pode simplificar este processo enviando mensagens diretamente para todos os destinatários. Este guia fornece soluções detalhadas para enviar e-mails para múltiplos destinatários a partir do Excel de uma só vez, integrando-se com o Outlook para Economizar Tempo e reduzir erros.
Enviar um e-mail para vários destinatários a partir do Excel com código VBA
Enviar um e-mail para vários destinatários a partir do Excel com código VBA
Se pretender enviar o mesmo e-mail a um grupo de pessoas de uma só vez e tiver a respetiva lista de endereços numa coluna da folha de cálculo, pode utilizar código VBA para automatizar esta tarefa. Este método é especialmente útil para notificações em lote ou atualizações de grupo, sem precisar de adicionar manualmente os destinatários no Outlook. Siga estes passos:
1. Prima ALT + F11 em simultâneo para abrir a janela do Microsoft Visual Basic para Aplicações. Caso ainda não tenha ativado o separador Programador, encontre instruções detalhadas nas definições do Excel.
2. Na janela do VBA, clique em Inserir > Módulo. Isto abre uma janela de módulo em branco onde pode introduzir o seu código. Cole o seguinte código:
Código VBA: Enviar e-mail para vários destinatários
Sub sendmultiple()
'updateby Extendoffice
Dim xOTApp As Object
Dim xMItem As Object
Dim xCell As Range
Dim xRg As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOTApp = CreateObject("Outlook.Application")
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
Set xMItem = xOTApp.CreateItem(0)
With xMItem
.To = xEmailAddr
.Display
End With
End Sub
3. Prima F5(ou clique em Executar) para executar o código. Irá aparecer uma caixa de diálogo a solicitar que selecione a lista de endereços da sua folha de cálculo. Este passo permite-lhe selecionar facilmente todas as células que contêm os endereços de e-mail necessários, garantindo que o código inclui apenas destinatários com formato de e-mail válido ()*@*). Veja a imagem:

4. Após selecionar os endereços, clique em OK. O Outlook abrirá uma nova janela de Mensagem com os endereços escolhidos preenchidos automaticamente no campo Para. Pode agora definir o assunto e escrever a mensagem de acordo com as suas necessidades. A janela permite edições adicionais, se necessário, para personalização ou clarificação. Veja a imagem:

5. Assim que a sua mensagem estiver concluída, clique no botão Enviar para enviar o e-mail simultaneamente a todos os destinatários listados. Esta abordagem garante que não omite nenhum endereço e acelera a comunicação em grupo.
Dica: Certifique-se de que o Outlook está instalado e definido como cliente de e-mail predefinido para garantir o funcionamento correto deste método. Caso surjam problemas — como a ausência da caixa de diálogo —, verifique as definições de segurança das macros no Excel.
Cenários aplicáveis: Utilize este método para anúncios de equipa, notificações de eventos ou envio de informações idênticas a vários destinatários. A vantagem reside na rapidez e precisão com entrada manual mínima, embora a limitação seja a impossibilidade de personalizar individualmente a mensagem para cada destinatário.
Resolução de problemas: Se a janela de mensagem do Outlook não abrir, verifique se o Outlook está a funcionar corretamente e definido como gestor de correio eletrónico predefinido. Além disso, certifique-se de que todas as células selecionadas contêm endereços de e-mail válidos — embora exista tratamento de erros, é recomendável evitar células vazias ou com formatação incorreta para garantir os melhores resultados.
Envie e-mails personalizados para vários destinatários com anexos diferentes: Para requisitos mais avançados, como enviar anexos únicos, conteúdos personalizados ou adicionar CC/Cco automaticamente, a Kutools para Excel com a função Enviar Emails torna rápido e fácil o envio de e-mails personalizados a partir do Excel através do Outlook. Esta funcionalidade permite-lhe adaptar cada mensagem ao respetivo destinatário, anexar ficheiros distintos e incluir destinatários em CC/Cco conforme as suas necessidades — tudo para uma comunicação em massa verdadeiramente flexível.Clique para descarregar o Kutools para Excel!
|
Enviar um e-mail para vários destinatários com o Livro de Trabalho Atual como anexo utilizando código VBA
Se precisar de enviar a sua Pasta de trabalho do Excel atual para um grupo de destinatários como anexo, a seguinte solução VBA pode ajudar a automatizar este processo. Este método é ideal para partilhar relatórios, resumos financeiros ou documentos colaborativos com múltiplas partes interessadas.
1. Abra o Excel e prima ALT + F11 para iniciar o ambiente do Microsoft Visual Basic para Aplicações.
2.No editor do VBA, vá a Inserir>Módulo, depois copie e cole o código abaixo na janela do módulo:
Código VBA: Enviar e-mail para vários destinatários com o Livro de Trabalho Atual como anexo
Sub EmailAttachmentRecipients()
'updateby Extendoffice
Dim xOutlook As Object
Dim xMailItem As Object
Dim xRg As Range
Dim xCell As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the arresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOutlook = CreateObject("Outlook.Application")
Set xMailItem = xOutlook.CreateItem(0)
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
With xMailItem
.To = xEmailAddr
.CC = ""
.Subject = ""
.Body = ""
.Attachments.Add ActiveWorkbook.FullName
.Display
End With
Set xOutlook = Nothing
Set xMailItem = Nothing
End Sub
3. Prima F5 para executar o código. Irá aparecer uma caixa de diálogo para selecionar as células com os endereços de e-mail. Este mecanismo ajuda-o a incluir facilmente todos os destinatários relevantes da sua folha de cálculo e garante que apenas são adicionados endereços de e-mail com formato adequado. Veja a imagem seguinte:

4. Após confirmar a seleção, clique em OK. O Outlook criará automaticamente uma nova janela de Mensagem, listando os destinatários selecionados no campo Para e anexando a pasta de trabalho atualmente aberta. Pode então personalizar o conteúdo da mensagem e a linha de assunto antes de enviar. Veja a imagem:

5. Clique no botão Enviar para enviar o seu e-mail — com a pasta de trabalho anexada — a todos os destinatários selecionados de uma só vez.
Precaução: Se a sua pasta de trabalho contiver informações confidenciais, verifique atentamente a lista de destinatários antes de enviar. Caso encontre um erro ao anexar o ficheiro, certifique-se de que a pasta de trabalho está guardada, não está aberta noutro programa e de que o Outlook está corretamente configurado para envio de e-mails por automação.
Casos de utilização: Esta solução é amplamente utilizada para distribuir relatórios periódicos, submeter pastas de trabalho colaborativas ou partilhar ficheiros de referência com equipas ou clientes. É eficiente para entrega em massa de documentos, mas não permite anexos distintos por destinatário.
Problemas comuns: Se a caixa de diálogo não abrir ou o e-mail não for enviado, certifique-se de que concedeu permissões às macros e de que a sua pasta de trabalho está guardada antes de executar o código. Verifique também se há células vazias na sua seleção, uma vez que o código ignora conteúdos que não correspondam aos formatos padrão de e-mail.
Solução alternativa: Enviar Endereço de Email separados por ponto e vírgula utilizando uma fórmula do Excel
Se pretender compilar rapidamente uma lista de endereços de e-mail numa única célula — separados por ponto e vírgula para facilitar a cópia diretamente para os campos Para, Cc ou Cco do Outlook — as fórmulas do Excel oferecem uma solução rápida e simples, especialmente se não quiser recorrer a macros.
1. Suponha que os seus endereços de e-mail estão listados na coluna A, nas linhas 1 a 7. Introduza a seguinte fórmula numa célula vazia (por exemplo, B1):
=TEXTJOIN(";",TRUE,A1:A7) 2. Prima Enter. O resultado será uma única cadeia de texto contendo todos os endereços de e-mail do intervalo selecionado, separados por ponto e vírgula. Pode então copiar esta célula e colá-la diretamente nos campos de destinatários do Outlook.
Parâmetros da fórmula:
- TEXTJOIN: Concatena um intervalo de células com o delimitador especificado — neste caso, um ponto e vírgula.
- VERDADEIRO: Exclui quaisquer células vazias do intervalo. Todos os endereços de e-mail válidos serão concatenados sem espaços em branco.
- A1:A10: Ajuste este intervalo de acordo com a sua lista de endereços de e-mail.
Vantagens: Esta abordagem dispensa a ativação de macros, sendo ideal para ambientes onde o VBA é restrito. Permite copiar rapidamente uma lista compilada para qualquer plataforma de e-mail — não só para o Outlook.
Limitações: Ao contrário do VBA, não cria automaticamente um e-mail nem automatiza o processo de envio, mas melhora a eficiência ao trabalhar com listas de destinatários.
Dica: Se a sua lista for alterada, atualize o intervalo da fórmula em conformidade. Para formatos que utilizem delimitadores diferentes do ponto e vírgula, substitua ";" pelo caractere pretendido.
Artigo relacionado:
Como enviar e-mails personalizados em massa a partir de uma lista no Excel através do Outlook?
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos
