Gerar PDF no Excel automaticamente VBA - Planilha gerar PDF Gratuita
Como gerar PDF no Excel automaticamente? Neste artigo você tem o download de um exemplo de planilha e tem o código VBA para a impressão em PDF.
Especialista em Excel
Relatorio de cobrancas Excel VBA
Baixe agora — o link vai direto para o seu e-mail.
- Download 100% gratuito
- Arquivo pronto para usar no Excel
- Enviamos o link no seu e-mail
Gerar PDF no Excel automaticamente VBA - Planilha gerar PDF Gratuita
Como você faz para gerar PDF no Excel automaticamente com VBA? Neste artigo veja como criar um relatório de cobrança com Excel VBA, aonde automaticamente faremos com que sejam gerados em PDF ou impressos 400 cobranças para clientes diferentes.
O código aplicado neste relatório pode ser utilizado em várias situações parecidas com pequenas adaptações, veja abaixo no exemplo o código que foi utilizado e como ele funciona para a geração destes dados no passo-a-passo.

O Problema
Temos uma lista com 400 clientes em média, aonde são realizadas cobranças semanais de jornais. Funciona da seguinte forma o processo do cliente:
- Deixa edições dois jornais diariamente na banca, chamaremos de Diário da Rua e Gazeta da Rua.
- Estas quantidades variam de banca a banca.
- No começo da semana é impresso o relatório com a quantidade de periódicos deixados em cada dia para cada um dos clientes.
- Este relatório é utilizado para cobrar os que foram vendidos e recolher os que não foram vendidos.
O problema do processo acima é que são 400 clientes, então o relatório, mesmo que usando PROCV para preencher a planilha com os dados para a cobrança precisa ser impresso um-a-um, selecionar o cliente na lista e clicar em imprimir.
O cliente perde em torno de 4 h para emitir todos os relatórios, sendo que alguns ele ainda esquecia de imprimir ou ficavam fora de ordem.
A solução para este problema foi então gerar estes dados automaticamente com VBA no Excel.
Neste exemplo temos o código para fazer o loop por todos os dados dos clientes, gerar em PDF ou imprimir os relatórios diretamente na impressora à partir do Excel.
Desta forma temos um relatório de cobranças automático no Excel com VBA.

Solução
No Excel fazemos um loop por todas as linha
s dos clientes da planilha de cadastro, os dados dos clientes são colados diretamente na célula aonde está o cliente a ser impresso, os dados são alterados então imediatamente.

Na outra planilha temos então a distribuição que tivemos em cada dia da semana para cada um dos clientes, estes dados são retornados via PROCV para o relatório de cobrança.

No relatório de cobranças Excel VBA temos então o seguinte resultado com a busca de dados à partir desta tabela.

Gerar relatório em PDF ou imprimir VBA Excel
Com o código abaixo temos então a geração do relatório em PDF para ser posteriormente armazenado ou enviado por e-mail e também o código para imprimir o relatório de cobrança para todos os clientes.
Sub lsGerar(ByVal lflImprimir As Boolean)
On Error GoTo TratarErro
'Declaração das variáveis
'iTotalLinhas é o total de clientes
'iLinhas é o controle da linha atual no loop
'lstrPasta Pasta aonde salvar os arquivos pdf's
Dim iTotalLinhas As Long
Dim iLinhas As Long
Dim lstrPasta As String
'Total de clientes, de cima para baixo localiza a última célula preenchida da lista
iTotalLinhas = Worksheets("Clientes").Cells(Rows.Count, 1).End(xlUp).Row
'Inicia na linha logo abaixo do cabeçalho
iLinhas = 2
If lflImprimir = False Then
lstrPasta = lfSelecionarPasta
If lstrPasta = vbNullString Then
Exit Sub
End If
End If
'Passa por todos os clientes
While iLinhas <= 100 'iTotalLinhas
'Atualiza o valor do cliente
Worksheets("Recibo").Cells(1, 5).Value = Worksheets("Clientes").Cells(iLinhas, 1).Value
If lflImprimir = True Then
'Imprime o recibo
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=lstrPasta & "\" & Worksheets("Clientes").Cells(iLinhas, 1).Value & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
'Passa para o próximo cliente
iLinhas = iLinhas + 1
Wend
Sair:
Exit Sub
TratarErro:
'Tratamento de erro se houverem problemas
MsgBox "Houve um erro na impressão!", vbCritical
GoTo Sair
End Sub
'Procedimento para salvar arquivos
Public Function lfSelecionarPasta() As String
Dim fDlg As FileDialog
Set fDlg = Application.FileDialog(FileDialogType:=msoFileDialogFolderPicker)
'Retorna a pasta selecionada
If fDlg.Show = -1 Then
lfSelecionarPasta = fDlg.SelectedItems(1)
Else
MsgBox "Não foi selecionada nenhuma pasta"
End If
End Function
Public Sub lsGerarPDF()
lsGerar False
End Sub
Public Sub lsImprimir()
lsGerar True
End Sub
Planilha de Controle Financeiro no Excel
Tenha um controle bonito e completo do seu financeiro.
- Categorias e subcategorias já configuradas
- Planilhas separadas por tabela (configuração, lançamentos, resumo)
- Personalize com suas próprias categorias e ícones
Download planilha de relatório de cobranças Excel
Para o download do exemplo utilizado neste artigo preencha o seu nome e e-mail no formulário abaixo.
Relatorio de cobrancas Excel VBA
Baixe agora — o link vai direto para o seu e-mail.
- Download 100% gratuito
- Arquivo pronto para usar no Excel
- Enviamos o link no seu e-mail
Abraço
Marcos Rieper
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Este conteúdo foi útil?
Continue lendo

Redimensionar imagens automaticamente VBA Excel - Planilha redimensionar imagens Grátis
Para redimensionar as imagens basta habilitar as macros ao abrir a pasta de trabalho do Excel e clicar no botão Redimensionar Imagens.

Como Gerar Parcelas Automaticamente no Excel
Neste artigo você aprenderá como gerar parcelas automaticamente no Excel passo-a-passo com download gratuito da planilha.

Como exibir o nome da planilha automaticamente no Excel
Neste artigo você aprenderá como exibir o nome da planilha automaticamente no Excel com download gratuito do exemplo.

