Como enviar cada planilha para diferentes endereços de e-mail a partir do Excel?
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
- 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.
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:
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!

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
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.





- 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