Como enviar por e-mail um intervalo de células do Excel através do Outlook?
No dia a dia com o Excel, é frequente concluir um relatório e depois precisar partilhar apenas uma parte dos dados com um destinatário específico. Por exemplo, poderá querer enviar informações relevantes de um intervalo de células selecionado, em vez do livro inteiro, garantindo privacidade e foco no essencial. Naturalmente, a maioria dos utilizadores prefere soluções que não exijam alternar manualmente para o Outlook nem recorrer a copiar e colar. Será que existem formas práticas e eficientes de enviar por e-mail um intervalo de células diretamente a partir do Excel?
Este tutorial explora diversas formas de enviar ou partilhar por e-mail células selecionadas através do Outlook — incluindo soluções VBA e funcionalidades nativas do Excel — para otimizar o seu fluxo de trabalho e minimizar tarefas manuais. Descubra como enviar um intervalo como anexo, incorporar células diretamente no corpo da mensagem, guardar intervalos como imagens ou PDFs antes do envio e utilizar as funcionalidades clássicas de correio do Excel. O guia inclui ainda passos essenciais de configuração, análise de cenários práticos, dicas para resolver problemas comuns e recomendações úteis para obter os melhores resultados.
Enviar intervalo de células como anexo a partir do Excel com código VBA
Enviar intervalo de células no corpo da mensagem a partir do Excel com código VBA
Enviar intervalo de células como anexo a partir do Excel com código VBA
Se pretender partilhar um conjunto específico de dados sem conceder acesso ao livro inteiro, pode extrair um intervalo de células designado e enviá-lo como anexo — por exemplo, num documento .xlsx ou .xls — diretamente através do Outlook. Esta solução revela-se especialmente valiosa quando o destinatário só precisa de analisar uma parte do relatório ou quando a confidencialidade dos dados é essencial. Os passos seguintes mostram como configurar e utilizar o código VBA para automatizar este processo:
1. Abra a sua pasta de trabalho do Excel de destino. Prima ALT + F11 para abrir a janela Microsoft Visual Basic para Aplicações, onde pode inserir e editar código VBA.
2. Clique em Inserir > Módulo, o que cria um novo módulo para o seu código. Cole o script abaixo na janela do módulo.
Código VBA: enviar intervalo de células como anexo a partir 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 Dicas e personalizações:
- .To
- .CCe .BCCpodem ser definidos para cópia ou cópia oculta, conforme necessário.
- .Subjecte .Bodypermitem personalizar a mensagem de e-mail.
3. Execute o código premindo F5. Aparecerá uma caixa de diálogo para seleção. Especifique o intervalo que deseja enviar por e-mail (é aconselhável confirmar os dados antes do envio). Veja a captura de ecrã de exemplo:

4. Após clicar em OK, poderá surgir uma notificação de progresso ou de permissão. Quando terminar, clique em Permitir. O intervalo de células pretendido será enviado ao destinatário escolhido como anexo de ficheiro Excel.

Precauções e resolução de problemas:
- Se o Outlook não estiver definido como programa de correio predefinido ou não estiver em execução, o código poderá não funcionar corretamente.
- Certifique-se de que as definições de segurança das macros permitem a execução de scripts VBA. Poderá precisar de ativar as macros ou ajustar as definições do Centro de Confiança.
- O tipo do anexo depende do tipo de arquivo de origem e da linha especificada no código VBA.
- Após o envio, confirme a entrega verificando a pasta Itens Enviados do Outlook.
Esta abordagem é ideal para partilha segura de dados, arquivamento de registos e situações que exigem a formatação original do Excel. Contudo, os destinatários precisarão de software adequado para abrir o anexo.
Enviar intervalo de células no corpo da mensagem a partir do Excel com código VBA
Em cenários em que pretende que os destinatários visualizem imediatamente a informação sem precisar de descarregar anexos — como resumos periódicos de relatórios ou atualizações de progresso — pode incorporar diretamente o intervalo de células selecionado no corpo do e-mail. Esta abordagem não só melhora a acessibilidade, como também facilita a leitura e acelera o processamento da informação pelos destinatários.
1. Mude para a folha de cálculo que contém os seus dados. Prima ALT + F11 para aceder à janela Microsoft Visual Basic para Aplicações.
2. Clique em Inserir > Módulo para abrir uma janela de módulo e cole o seguinte código:
Código VBA: enviar intervalo de células no corpo da mensagem a partir do Excel
Sub EmailRange()
'Update by Extendoffice
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 Notas sobre parâmetros e ajustes práticos:
- .Introductionpermite incluir uma mensagem antes do próprio intervalo.
- .Item.Todeve ser atualizado com o seu Endereço de Email pretendido.
- .Item.Subjectpode ser ajustado para se adequar ao foco do seu relatório ou e-mail.
3. Execute a macro utilizando F5. Quando solicitado, selecione o intervalo de células que pretende enviar.

4. Confirme a sua seleção e clique em OK. Monitore quaisquer avisos de segurança. Assim que concluído, clique em Permitir para autorizar a macro. O Selecionar intervaloaparecerá diretamente no corpo do seu e-mail do Outlook, formatado como uma tabela.

Lembretes importantes:
- Esta solução exige que o Outlook esteja instalado e configurado como a aplicação de correio predefinida.
- Ative as macros no Excel para garantir a execução bem-sucedida do VBA. Em caso de erros, verifique as definições de macros no Centro de Confiança.
- A formatação é mantida — no entanto, formatos de célula complexos podem aparecer de forma diferente no e-mail do que no Excel.
- Consulte a pasta de Saída ou Itens Enviados do Outlook para confirmar que a mensagem foi enviada.
Esta abordagem revela-se ideal para atualizações de estado da equipa, partilha rápida de dados ou distribuição de valores-chave junto de colegas ou clientes que valorizam uma legibilidade imediata.
Outros Métodos Integrados do Excel – Utilize a funcionalidade integrada «Enviar para Destinatário de Correio» para enviar células selecionadas no corpo da mensagem
Algumas versões antigas do Excel (anteriores ao Office 365) incluíam um botão integrado «Enviar para Destinatário de Correio», que permite enviar rapidamente as células selecionadas diretamente no corpo do e-mail — sem recorrer a VBA. Embora esta funcionalidade esteja oculta por predefinição no Excel moderno, continua acessível através da personalização da Barra de Ferramentas de Acesso Rápido. Esta solução é ideal para utilizadores com versões mais antigas do Excel ou que prefiram evitar o uso de macros.
Como ativar e utilizar:
- Clique com o botão direito na Barra de Ferramentas de Acesso Rápido (acima da sua Faixa de Opções) e selecione Personalizar Barra de Ferramentas de Acesso Rápido.
- Na lista de comandos, altere “Escolher comandos de:” para Todos os Comandos.
- Desloque-se para baixo e adicione Enviar para Destinatário de Correio à sua Barra de Ferramentas de Acesso Rápido.
- Após a configuração, selecione as células que pretende enviar. Clique no ícone Enviar para Destinatário de Correio — o Excel abre uma janela de e-mail incorporada com a sua seleção no corpo da mensagem. Basta adicionar destinatários, assunto e enviar diretamente!
Notas importantes:
- Este método exige que o Outlook esteja configurado como cliente de e-mail predefinido.
- Trabalhar com a janela de e-mail incorporada pode parecer diferente da composição habitual no Outlook—verifique atentamente a formatação.
- Esta funcionalidade poderá estar desativada ou indisponível em determinadas versões do Excel (especialmente nas versões mais recentes do Office 365). Nestes casos, considere soluções alternativas com VBA ou a exportação para PDF ou imagem.
Vantagens e desvantagens:
- Extremamente rápido e simples nas versões compatíveis — sem necessidade de código ou configuração avançada.
- Não disponível em todas as versões; utilizadores do Excel mais recente poderão precisar de recorrer a métodos alternativos.
Artigos relacionados:
Como enviar apenas uma folha de cálculo do Excel através do Outlook?
Como enviar Livro de Trabalho Atual através do Outlook a partir do Excel?
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