Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

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

Author Xiaoyang Last modified

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 E-mails Personalizados Facilmente com Um Clique!

Send Personalized Emails feature

Cansado de enviar e-mails para os clientes um por um? Com o recurso “Enviar Email” 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 e-mail, códigos de registro e inserir marcadores de posição — o sistema irá gerar automaticamente e-mails 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 conteúdo personalizado para cada destinatário, garantindo que cada e-mail 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 e-mail 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 Agora o Kutools Para Excel!

Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com: Execução Inteligente   |  Gerar Código  |  Criar Fórmulas Personalizadas  |  Analisar Dados e Gerar Gráficos  |  Chamar Funções Aprimoradas
Recursos Populares: Localizar, Destacar ou Marcar Duplicatas   |  Excluir Linhas em Branco   |  Consolidar Colunas ou Células sem Perder Dados   |   Arredondar...
Super PROC: Procura por múltiplos critérios    Procura por 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 número específico de colunas  | Mover Colunas  | Alternar status de visibilidade de Colunas ocultas |  Comparar Intervalos & 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 (Auto Text)   |  Selecionador de Data   |  Mesclar Dados   |  Criptografar/Descriptografar Células    Enviar Email por Lista   |  Super Filtro   |   Filtro Especial (filtrar negrito/itálico/tachado...) ...
Os 15 Principais Conjuntos de Ferramentas: 12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...)  | 50+ Tipos de Gráficos (Gráfico de Gantt, ...)  | 40+ Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...)  | 19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem pelo 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 idiomas!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para acessar o recurso que você mais precisa...


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

  • Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
  • Aumente sua produtividade em50% e economize centenas de cliques todos os dias!

Todos os complementos Kutools. Um instalador

O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.

Excel Word Outlook Tabs PowerPoint
  • Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Um instalador, uma licença — configuração em minutos (pronto para MSI)
  • Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
  • Avaliação completa por30 dias — sem registro e sem cartão de crédito
  • Melhor custo-benefício — economize comparado à compra individual de add-ins