Como enviar / e-mail um intervalo de células pelo Outlook a partir do Excel?
Você já enfrentou o problema de, após concluir um relatório em uma planilha, precisar enviar um intervalo de células dessa planilha que contém alguns dados importantes para um destinatário específico? Existem maneiras rápidas de enviar este intervalo diretamente do Excel sem abrir o Outlook?
Enviar intervalo de células como anexo do Excel com código VBA
Enviar intervalo de células como corpo do e-mail do Excel com código VBA
Enviar intervalo de células como anexo do Excel com código VBA
O seguinte código VBA pode ajudá-lo a enviar o intervalo selecionado como anexo no Excel. Por favor, siga estas instruções:
1. Abra sua pasta de trabalho e, em seguida, pressione 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 intervalo de células como anexo do Excel
Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = "skyyang@extendoffice.com"
.CC = ""
.BCC = ""
.Subject = "information of kte"
.Body = "hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Observação: No código acima, você pode alterar as seguintes informações conforme sua necessidade.
- .To = "skyyang@extendoffice.com"
- .CC = ""
- .BCC = ""
- .Subject = "informações do kte"
- .Body = "olá, por favor verifique e leia este documento."
3. Em seguida, clique na tecla F5 para executar este código, e uma caixa de aviso aparecerá para lembrá-lo de selecionar o intervalo que deseja enviar. Veja a captura de tela:
4. Depois clique em OK, e outra caixa de aviso aparecerá; após a barra de progresso concluir, clique em Permitir, e então o intervalo específico de células será enviado ao seu destinatário como anexo.

Desbloqueie a Magia do Excel com o Kutools AI
- Execução Inteligente: Realize operações de células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- Fórmulas Personalizadas: Gere fórmulas sob medida para otimizar seus fluxos de trabalho.
- Codificação VBA: Escreva e implemente código VBA sem esforço.
- Interpretação de Fórmulas: Compreenda fórmulas complexas com facilidade.
- Tradução de Texto: Supere barreiras linguísticas dentro de suas planilhas.
Enviar intervalo de células como corpo do e-mail do Excel com código VBA
Se você quiser enviar um intervalo específico como parte do corpo da mensagem do Excel, também pode aplicar o seguinte código VBA para resolver isso.
1. Ative sua planilha e pressione 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 intervalo de células como corpo do e-mail do Excel
Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Please read this email."
.Item.To = "skyyang@extendoffice.com"
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
Observação: No código acima, você pode alterar as seguintes informações conforme necessário.
- .Introduction = "Por favor, leia este e-mail."
- .Item.To = "skyyang@extendoffice.com"
- .Item.Subject = "informações do kte"
3. Em seguida, clique na tecla F5 para executar este código, e uma caixa de aviso aparecerá para lembrá-lo de selecionar o intervalo que deseja enviar.
4. Depois clique em OK, e outra caixa de aviso aparecerá; após a barra de progresso concluir, clique em Permitir, e então o intervalo específico de células será enviado ao seu destinatário como corpo da mensagem.
Observações:
1. Esses códigos só estão disponíveis quando o Outlook é seu programa de e-mail.
2. Após enviar a planilha atual, você pode ir ao seu Outlook para verificar se o e-mail foi enviado com sucesso.
Artigos relacionados:
Como enviar apenas uma planilha pelo Outlook a partir do Excel?
Como enviar a pasta de trabalho atual pelo Outlook a partir do Excel?
Melhores Ferramentas de Produtividade para Office
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!