Macro para Exportar PDF – Como Criar?

Quer aprender a criar uma macro para exportar PDF das suas planilhas? Então este tutorial é para você!

No Excel, já é possível exportar arquivos xls ou xlsx para pdf. No entanto, dependendo da ocasião, é necessário executar esta tarefa diversas vezes ao dia. E pensando nisso, nós separamos hoje um passo a passo para que você possa aprender criar facilmente uma Macro para exportar PDF a partir do Excel com um único clique. Acompanhe os detalhes:

Observação: Se você tem dificuldades para criar suas primeiras Macros no Excel, recomendamos que leia este artigo.

Aprenda criar uma Macro para exportar PDF

Quando se trata de criar uma macro para exportar PDF das suas planilhas, você poderá optar por dois métodos que são:

  • Usar o gravador de Macros
  • Usar um código VBA

Confira ambas as opções a seguir:

Opção 1: Usando o gravador de Macros

Provavelmente a maneira mais simples para criar uma macro para exportar PDF das suas planilhas é simplesmente utilizar o gravador de Macros do Excel. Se você deseja optar por este método, então basta seguir as etapas abaixo:

1. Abra o arquivo que você deseja criar a macro para exportar PDF. Este arquivo não deve estar em branco, pois ao exportar para PDF, o Excel não permitirá um arquivo em branco. No exemplo abaixo, temos uma simples planilha de vendas que desejamos transformá-la em PDF.

gerar pdf no excel

2. Acesse a guia Desenvolver e escolha a opção Gravar Macro conforme mostrado abaixo:

Importante: Se o seu Excel não possui a guia Desenvolvedor habilitada,  confira neste artigo o procedimento para habilitá-la

gravar macro para exportar pdf

3. Uma nova janela irá se abrir. Dê um nome para a Macro (sem espaços) e clique em OK.

Como criar Macro para exportar PDF

Dica: Se você já criou alguma Macro antes, então sabe que a partir de agora tudo o que for feito no Excel, será gravado até que a Macro seja pausada.




4. Para gerar o PDF da planilha, acesse a guia Arquivo e escolha a opção Exportar e em seguida a opção Criar Documento PDF/XPS

Criando uma Macro para exportar PDF

5. O Excel irá perguntar onde você deseja salvar o arquivo PDF. Escolha o local desejado em seu computar, dê um nome ao arquivo e clique em Publicar.

pdf excel

6. Após exportar o PDF, volte ao Excel e acesse novamente a guia Desenvolvedor e agora clique em Parar Gravação da Macro.

7. Para executar a sua macro, insira um botão. Para isto, acesse a guia Desenvolvedor > Inserir > Botão (Controle de Formulário)

8. Arraste o botão dentro da sua planilha. Após criar o botão, o Excel irá abrir a caixa de diálogo “Atribuir macro“. Selecione a macro criada e clique em OK.

Macro para exportar PDF - Atribuir Macro

Pronto! Agora a sua Macro para exportar PDF está pronta e você poderá gerar seus arquivos de Excel para PDF com apenas o clique de um botão.


Opção 2: Usando um código VBA

Outra opção para criar macros para exportar PDF de suas planilhas é através de um código VBA. Essa segunda opção lhe dá ainda mais possibilidades para exportar PDF das suas planilhas. Abaixo, listamos alguns códigos prontos que você pode usar conforme a sua necessidade.

Exemplo 1: Exportar PDF com nome fixo

O código abaixo exporta a planilha ativa para o formato PDF com o nome de “Relatório de Vendas”

Sub Criar_PDF()
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Relatório de Vendas", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True
End Sub

Exemplo 2: Salvar um único PDF das planilhas selecionadas

O código abaixo salva as planilhas selecionadas como um único PDF.

Sub SalvaPDFPlanilhasSelecionadas()
Dim localPDF As String
saveLocation = "C:\Users\ExcelEasy\Desktop\Vendas.pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=localPDF

End Sub

Exemplo 3: Exportar PDF apenas de células selecionadas

Se você precisa exportar apenas pequena parte de uma planilha em um PDF, então use o código abaixo para salvar em PDF apenas as células selecionadas.

Sub PDFCélulasSelecionadas()
Dim LocalPDF As String
LocalPDF = "C:\Users\ExcelEasy\Desktop\Vendas.pdf"

'Save selection as PDF
Selection.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=LocalPDF
End Sub

Exemplo 4: Exportar PDF de seleção específica

A macro abaixo salva um intervalo especificado como um PDF (Neste exemplo, A1:E7).

Sub SalvarIntervaloPDF()
Dim LocalPDF As String
Dim intervalo As Range

LocalPDF = "C:\Users\ExcelEasy\Desktop\Vendas.pdf"
Set intervalo = Sheets("Plan1").Range("A1:E7")

intervalo.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=LocalPDF

End Sub

Exemplo 5: Exportar PDF com o nome do arquivo conforme valor de uma célula

Uma outra opção para salvar PDF é usar o valor de uma célula para nomear o arquivo de PDF. No código abaixo, o nosso arquivo de PDF terá como nome, o mesmo conteúdo contido na célula A1.

Sub PDF_Nome_da_celula()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("A1").Value _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True

End Sub




Exemplo 6: Exportar PDF com a opção ‘Salvar Como’

Se você precisa especificar o local onde deseja exportar seu PDF, então poderá adaptar seu código de acordo com o exemplo abaixo:

No exemplo abaixo o Excel irá abrir a caixa de diálogo Salvar como e, por padrão, o nome do arquivo levará o nome inserido na célula A1.

Sub gerarPDF()
Dim NomeArquivo As Variant

NomeArquivo = Application.GetSaveAsFilename(InitialFileName:=Range("A1").Value, _
FileFilter:="PDF, *.pdf", _
Title:="Salve as PDF")

If NomeArquivo <> False Then

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("A1").Value
End If

End Sub

Opção 7: Exportar PDF de todas as Planilhas da Pasta de Trabalho

Se você tem uma pasta de trabalho com diversas planilhas que precisam ser exportadas para PDF, então utilize o código abaixo:

Sub ExportarPDFPlanilhas()
Dim Caminho_Pasta As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Selecione uma Pasta"
    If .Show = -1 Then Caminho_Pasta = .SelectedItems(1)
End With
Dim Planilha As Worksheet
For Each Planilha In ActiveWorkbook.Worksheets
    Planilha.ExportAsFixedFormat xlTyper, Caminho_Pasta & Application.PathSeparator & Planilha.Name & ".pdf"
Next
MsgBox "Arquivos exportados com sucesso"
End Sub

Dicas importantes para exportar PDF com o VBA

  • Embora a propriedade Filename seja opcional, é importante usá-la caso você queira saber onde o arquivo foi salvo e como ele é chamado.
  • Se a propriedade Filename não for fornecida, o PDF será salvo no local da pasta padrão usando o nome da pasta de trabalho do Excel com a extensão de arquivo .pdf.
  • Caso o nome de arquivo seja fornecido, mas não um caminho, o documento será salvo no local da pasta padrão com o nome fornecido.
  • Quando a extensão do arquivo .pdf não é fornecida, o sufixo é adicionado automaticamente.
  • Caso já exista um PDF no local de salvamento especificado, ele será substituído. Pode ser necessário incluir procedimentos de manipulação de arquivos para evitar a substituição de documentos existentes e lidar com erros.
  • Caso você esteja usando o Ms Office na versão 2007, então será necessário instalar um suplemento para conseguir exportar arquivos em PDF (seja gravando uma macro ou usando um código VBA). Se este é o seu caso, então basta baixar aqui o suplemento e instalar em seu computador.

Confira também as seguintes dicas de Excel:

E então, o que achou do tutorial para criar uma macro para exportar PDF? Ficou com alguma dúvida? Deixe o seu comentário abaixo e continue acompanhando mais dicas de Excel em nosso site!