Blog

Postado em em 15 de outubro de 2021

Imprimir Relatório com VBA e Gerar PDF Automático

Hoje eu quero te mostrar como imprimir relatório com VBA e como gerar um PDF automático com apenas um clique usando a programação!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso Canal do YouTube para mais vídeos!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Imprimir Relatório com VBA e Gerar PDF Automático

Fala impressionadores! Você já sabe como fazer para gerar PDF no Excel com VBA? Sabe como imprimir relatório com VBA?

Se você não sabe pode ficar tranquilo, porque nessa aula eu vou te ensinar como fazer isso! Vou te ensinar como imprimir relatório do Excel com VBA para automatizar seu trabalho quando precisar fazer a impressão de relatórios finais, assim já pode deixar tudo automático com o VBA.

Já imaginou fazer essa parte automática, seria incrível não é mesmo? E sabe qual o melhor de tudo?

Ainda podemos gerar PDF no Excel com VBA de forma automática também! Então além de imprimir relatório com VBA você vai poder gerar um PDF e deixar salvo esse arquivo caso precise enviar por e-mail ou ter uma cópia de segurança.

E aí bora aprender o código para imprimir relatório com VBA e o código para gerar PDF no VBA para automatizar ainda mais seus processos?

É importante que você baixe o arquivo da aula, nele temos diversas tabelas, uma base de dados e uma lista de cadastro de produtos:

Nosso objetivo é construir de forma automática o PDF com os gráficos gerados por essas tabelas. O primeiro passo é abrir o ambiente do VBA -> cliquem em alt + F11 ou Fn + alt + F11.

Feito isso, você vai encontrar os dois códigos que deixei pronto no material, vou explicar abaixo cada linha para você.

Como Imprimir Usando o VBA?

Lembre-se de que nessa aula já vamos mostrar alguns códigos prontos, mas estão todos explicados. Se ainda tiver dificuldades eu vou deixar uma aula de Introdução ao VBA caso você tenha interesse e queira se aprofundar nesse conteúdo.

O VBA vai te ajudar muito na automatização de tarefas dentro do Excel, então as tarefas repetitivas podem ser feitas em poucos segundos com a utilização do VBA!

Código – Imprimir Relatório com VBA:

Sub imprimirRelatorioAula() -> Toda macro começa com o Sub seguido do nome da macro, observe que no nome não temos caracteres especiais nem espaços.

1ª linha do código:

primeira linha do código
primeira linha do código

Linha opcional -> Nesta linha estamos definindo previamente qual impressora usar. Você também pode ao invés de selecionar uma impressora, selecionar PDF, assim poderá salvar o arquivo para consulta…

2ª linha do código:

segunda linha
segunda linha

Linha opcional -> A segunda linha do nosso código mostra uma prévia do que vai ser enviado a impressora antes de imprimir.

Exemplo:

Imprimir Relatório com VBA
resumo

3ª linha do código:

Imprimir Relatório com VBA
terceira linha

A última linha imprime os gráficos para nós!

End Sub -> encerramento da macro

Obs. Você pode clicar em F8 para executar as linhas de código e conferir as caixas de diálogos e resumos, também pode comentar as linhas de código não obrigatórias caso não queira ver uma prévia ou escolher uma impressora, para isso basta colocar ( ‘ ) antes da linha de código que você não deseja executar.

Com esse código você vai conseguir selecionar a impressora, visualizar a impressão e imprimir o seu relatório, lembrando que você pode criar um botão para atribuir sua macro e deixar tudo automático.

Dessa forma você só vai precisar clicar em um botão para fazer todos esses passos, ou só os passos que quiser de forma muito rápida, sem ter que ficar clicando com o mouse sempre que quiser fazer uma impressão.

Como Gerar PDF?

Agora vamos ao segundo código, que é referente de como gerar um PDF do seu relatório. Você deve saber que isso é uma tarefa muito comum, nem sempre na empresa vão querer as informações apenas no computador ou no formato de planilha do Excel.

Então é importante ter os documentos em PDF tanto para imprimir se for o caso, ou até mesmo para enviar a um cliente ou mostrar para o seu chefe.

Então a melhor forma de fazer isso também é automatizando o Excel, pois ele já consegue gerar o PDF, só que a ideia é deixar tudo isso com um clique do mouse, sem precisar fazer outros ajustes extras de forma manual.

Código – Gerar PDF do Relatório:

Sub gerarPDFAula()

Sheets("Análise").Range("A1:F50").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Diego Amorim\Desktop\PDF da Aula V2.pdf"

End Sub

Nesta macro precisamos apenas de 1 linha de código, como é uma linha com muitas informações vou listar abaixo o que significa cada parte:

  • Sheets(“Análise”) -> Estamos buscando a Planilha de análises
  • .Range(“A1:F50”) ->  A planilha de análise está no intervalo de A1 até F50
  • .ExportAsFixedFormat -> Vamos exportar o conteúdo do intervalo em um formato fixo
  • Type:=xlTypePDF, -> O formato escolhido é PDF
  • Filename:= -> Antecede ao nome do arquivo
  • “C:\Users\Diego Amorim\Desktop\PDF da Aula V2.pdf” -> Caminho do Arquivo + Nome do arquivo

Feito isso, salve o código e já temos a conversão para PDF!

Você só precisa atribuir essas macros aos botões da sua tabela e salvar!

Conclusão – Imprimir Relatório com VBA e Gerar PDF Automático

Nessa aula você aprendeu tanto a imprimir relatório com VBA quanto a como gerar PDF no Excel com VBA de forma automática!

Além de fazer impressão no VBA você vai poder gerar um PDF e deixar salvo esse arquivo, caso precise enviar por e-mail ou ter uma cópia de segurança, por exemplo.

Lembrando que você já pode juntar esses dois códigos, assim você já consegue gerar um PDF e já pode imprimir o seu arquivo em um único clique apenas, deixando seu trabalho ainda mais otimizado.

Até o próximo post! Fique ligado no nosso canal do YouTube para mais conteúdo de Excel e VBA! Um abraço,

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador