Como enviar cada folha para endereços de e-mail diferentes a partir do Excel?
Se tiver uma pasta de trabalho do Excel com várias folhas de cálculo, cada uma contendo um endereço de e-mail na célula S1, poderá querer enviar cada folha como um anexo separado para o respetivo destinatário. Esta tarefa pode tornar-se tediosa se realizada manualmente, especialmente ao lidar com um grande número de folhas. Neste tutorial, mostramos-lhe como utilizar código VBA para enviar automaticamente cada folha da sua pasta de trabalho do Excel como anexo para o endereço de e-mail indicado na célula S1 de cada folha.
Enviar cada folha para diferentes Endereço de Email a partir do Excel com código VBA
O código VBA seguinte permite-lhe enviar cada folha de trabalho como anexo para o destinatário indicado na célula S1. Siga estes passos:
1. Prima Alt + F11 em simultâneo para abrir a janela Microsoft Visual Basic para Aplicações.
2. Em seguida, clique em Inserir > Módulo e copie e cole o código VBA abaixo na janela.
Código VBA: Enviar cada folha como anexo para diferentes Endereço de Email
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 pretende enviar a mensagem. Se os seus endereços de e-mail estiverem noutra célula, como por exemplo A1, pode ajustar o código para refletir essa alteração.
- Pode especificar os campos CC, CCO, Assunto e Corpo do e-mail conforme desejar no código;
- Para enviar o e-mail diretamente, sem abrir a janela de nova mensagem seguinte, terá de alterar .Display para .Send.

3. Em seguida, prima a tecla F5 para executar este código e cada folha será inserida automaticamente na janela da nova mensagem como anexo, conforme ilustrado na imagem seguinte:

4. Por fim, clique no botão Enviar para enviar cada e-mail um a um.
Kutools para Excel: Envie facilmente e-mails personalizados com um clique!

Cansado de enviar e-mails aos clientes um a um? Com a funcionalidade «Enviar E-mails» do Kutools para Excel, a comunicação torna-se mais rápida e profissional! Basta preparar uma folha do Excel com nomes, endereços de e-mail, códigos de registo e marcadores de posição — o sistema gera automaticamente e-mails personalizados e envia centenas com apenas um clique. Chega de trabalho repetitivo!
- 💡 Os marcadores dinâmicos (como nome ou código de registo) preenchem automaticamente conteúdos personalizados para cada destinatário, garantindo que cada e-mail pareça feito à medida.
- 📎 Anexe ficheiros personalizados para uma entrega precisa
- 📤 Integra-se perfeitamente com o Outlook para envio seguro e fiável
- 📝 Guarde e reutilize modelos de e-mail para máxima eficiência
- 🎨 Editor WYSIWYG («o que vê é o que obtém»), fácil de utilizar
- 🖋 Utilize a sua assinatura do Outlook — sem necessidade de configuração adicional, basta clicar em enviar!
- Obtenha o Kutools para Excel agora!
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