Skip to main content

 Como enviar e-mail para vários destinatários em uma lista do Excel via Outlook?

Author: Xiaoyang Last Modified: 2025-08-06

Se você tiver vários endereços de e-mail em uma coluna da planilha e quiser enviar um e-mail para essa lista de destinatários diretamente do Excel sem abrir o Outlook, este artigo mostrará como enviar e-mails para múltiplos destinatários ao mesmo tempo.

Enviar e-mail para vários destinatários a partir do Excel com código VBA

Enviar e-mail para vários destinatários com a pasta de trabalho atual como anexo usando código VBA


Enviar e-mail para vários destinatários a partir do Excel com código VBA

Você pode usar um código VBA para enviar mensagens para vários destinatários de uma só vez. Por favor, siga os passos abaixo:

1. Pressione e segure as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo.

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. Em seguida, pressione a tecla F5 para executar este código. Uma caixa de aviso aparecerá para lembrá-lo de selecionar a lista de endereços, veja a captura de tela:

a screenshot of selecting the email addresses list after running the code

4. Depois clique em OK, e uma janela de Mensagem do Outlook será exibida. Você verá que todos os endereços de e-mail selecionados foram adicionados no campo Para, e então você pode inserir o assunto e compor sua mensagem, veja a captura de tela:

a screenshot of a created email with all selected email addresses listed in the To field

5. Após finalizar a mensagem, clique no botão Enviar, e esta mensagem será enviada aos destinatários da sua lista na planilha.


Enviar e-mails personalizados para vários destinatários com diferentes anexos:

Com o recurso Enviar Emails do Kutools para Excel, você pode rapidamente enviar e-mails personalizados para múltiplos destinatários com diferentes anexos do Excel via Outlook conforme necessário. Ao mesmo tempo, você pode CC ou Bcc as mensagens para uma pessoa específica também. Clique para baixar Kutools para Excel!

a screenshot of using the Send Emails feature of Kutools to easily send personalized emails to multiple recipients with different attachments


Enviar e-mail para vários destinatários com a pasta de trabalho atual como anexo usando código VBA

Se você precisar enviar uma mensagem para vários destinatários com a pasta de trabalho atual como anexo, você pode aplicar o seguinte código VBA.

1. Pressione e segure as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo.

Código VBA: Enviar e-mail para vários destinatários com a pasta 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. Após colar o código, pressione a tecla F5 para executar este código, e uma caixa de aviso aparecerá para lembrá-lo de selecionar os endereços para os quais deseja enviar a mensagem, veja a captura de tela:

a screenshot of selecting the email addresses list after running the second VBA code

4. Depois clique no botão OK, e uma janela de Mensagem do Outlook será exibida. Todos os endereços de e-mail foram adicionados no campo Para, e sua pasta de trabalho atual foi inserida como anexo também. Então você pode inserir o assunto e compor sua mensagem, veja a captura de tela:

a screenshot of a created email with all selected email addresses listed in the To field and the current workbook as attachment

5. Em seguida, clique no botão Enviar para enviar esta mensagem para a lista de destinatários com a pasta de trabalho atual como anexo.


Artigo relacionado:

Como enviar e-mails personalizados em massa para uma lista do Excel via Outlook?


Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com base em: Execução Inteligente|Gerar Código |Criar Fórmulas Personalizadas|Analisar Dados e Gerar Gráficos |Acionar Funções Aprimoradas
Recursos populares: Encontrar, Destacar ou Marcar Duplicados|Excluir Linhas em Branco|Combinar Colunas ou Células sem perder dados| Arredondar...
Super PROC: PROC com múltiplos critérios|PROC com múltiplos valores|Procura em várias planilhas|Correspondência Fuzzy....
Lista Suspensa Avançada: Crie rapidamente Lista Suspensa|Lista Suspensa Dependente|Lista Suspensa com Múltipla Seleção....
Gerenciador de Colunas: Adicionar um número específico de colunas |Mover Colunas |Alternar o Estado de Visibilidade de Colunas Ocultas| Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco|Visualização de Design|Barra de fórmulas aprimorada|Gerenciador de Pasta de Trabalho & Planilha|Biblioteca de AutoTexto|Selecionador de Data|Mesclar Dados |Criptografar/Descriptografar Células|Enviar Email por Lista|Super Filtro|Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ... ) |Mais de50 Tipos de Gráficos (Gráfico de Gantt, ... ) |Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ... ) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ... ) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ... ) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ... ) |... e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...


Office Tab traz interface de abas para o Office e facilita muito seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!