Skip to main content

Como enviar cada planilha para diferentes endereços de e-mail a partir do Excel?

Author: Xiaoyang Last Modified: 2025-06-04

Se você tem uma pasta de trabalho do Excel com várias planilhas, cada uma contendo um endereço de e-mail na célula S1, pode querer enviar cada planilha como um anexo separado para seu respectivo destinatário. Essa tarefa pode ser tediosa se feita manualmente, especialmente ao lidar com um grande número de planilhas. Neste tutorial, mostraremos como usar o código VBA para enviar automaticamente cada planilha do seu arquivo do Excel como um anexo para o endereço de e-mail especificado na célula S1 de cada planilha.


Enviar cada planilha para diferentes endereços de e-mail a partir do Excel com código VBA

O seguinte código VBA permitirá que você envie cada planilha como um anexo para o destinatário correspondente listado na célula S1. Por favor, siga estes passos:

1. Pressione simultaneamente as teclas Alt+ F11 para abrir a janela do Microsoft Visual Basic for Applications.

2. Em seguida, clique em Inserir > Módulo, e copie e cole o código VBA abaixo na janela.

Código VBA: Enviar cada planilha como anexo para diferentes endereços de e-mail

Sub Mail_Every_Worksheet()
'Updateby ExtendOffice
  Dim xWs As Worksheet
  Dim xWb As Workbook
  Dim xFileExt As String
  Dim xFileFormatNum As Long
  Dim xTempFilePath As String
  Dim xFileName As String
  Dim xOlApp As Object
  Dim xMailObj As Object
  On Error Resume Next
  With Application
      .ScreenUpdating = False
      .EnableEvents = False
  End With
  xTempFilePath = Environ$("temp") & "\"
  If Val(Application.Version) < 12 Then
    xFileExt = ".xls": xFileFormatNum = -4143
  Else
    xFileExt = ".xlsm": xFileFormatNum = 52
  End If
  Set xOlApp = CreateObject("Outlook.Application")
  For Each xWs In ThisWorkbook.Worksheets
    If xWs.Range("S1").Value Like "?*@?*.?*" Then
      xWs.Copy
      Set xWb = ActiveWorkbook
      xFileName = xWs.Name & " of " _
                   & VBA.Left(ThisWorkbook.Name, VBA.InStr(ThisWorkbook.Name, ".") - 1) & " "
      Set xMailObj = xOlApp.CreateItem(0)
      xWb.Sheets.Item(1).Range("S1").Value = ""
      With xWb
        .SaveAs xTempFilePath & xFileName & xFileExt, FileFormat:=xFileFormatNum
        With xMailObj
        'specify the CC, BCC, Subject, Body below
            .To = xWs.Range("S1").Value
            .CC = ""
            .BCC = ""
            .Subject = "This is the Subject line"
            .Body = "Hi there"
            .Attachments.Add xWb.FullName
            .Display
        End With
        .Close SaveChanges:=False
      End With
      Set xMailObj = Nothing
      Kill xTempFilePath & xFileName & xFileExt
    End If
  Next
  Set xOlApp = Nothing
  With Application
      .ScreenUpdating = True
      .EnableEvents = True
  End With
End Sub
Observação: No código acima:
  • S1 é a célula que contém o endereço de e-mail para o qual você deseja enviar o e-mail. Se seus endereços de e-mail estiverem em uma célula diferente, como A1, você pode modificar o código para refletir essa mudança.
  • Você pode especificar o CC, BCC, Assunto e Corpo no código;
  • Para enviar o e-mail diretamente sem abrir a seguinte janela de nova mensagem, você precisa alterar .Display para .Send.

A screenshot of the VBA code window for sending each sheet from Excel to a different email address in cell S1

3. Em seguida, pressione a tecla F5 para executar este código, e cada planilha será inserida automaticamente na janela de nova mensagem como um anexo, veja a captura de tela:

A screenshot of new email messages in Outlook, each with an attached Excel sheet sent to different recipients

4. Finalmente, clique no botão Enviar para enviar cada e-mail um por um.


Kutools para Excel: Envie Emails Personalizados Facilmente com Um Clique!

Send Personalized Emails feature

Cansado de enviar emails para os clientes um por um? Com o recurso “Enviar Emails” do Kutools para Excel, a comunicação se torna mais rápida e profissional! Basta preparar uma planilha do Excel com nomes, endereços de email, códigos de registro e inserir marcadores de posição — o sistema irá gerar automaticamente emails personalizados e enviar centenas com apenas um clique. Chega de trabalho repetitivo!

  • 💡 Marcadores de posição dinâmicos (ex.: nome, código de registro) preenchem automaticamente o conteúdo personalizado para cada destinatário, garantindo que cada email pareça exclusivamente feito sob medida.
  • 📎 Anexe arquivos personalizados para entrega precisa
  • 📤 Integra-se perfeitamente ao Outlook para envio seguro e confiável
  • 📝 Salve e reutilize modelos de email para máxima eficiência
  • 🎨 Editor WYSIWYG (o que você vê é o que você obtém) fácil de usar
  • 🖋 Usa sua assinatura do Outlook — sem configuração extra, basta clicar em enviar!
  • Adquira o Kutools Para Excel Agora!

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: 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 | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço 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 uma 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 Estado de Visibilidade das 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

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O 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...


O Office Tab traz interface com abas para o Office e facilita muito o 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 na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!