Página 1 de 1

Macro Gerar pdf de um intervalo de células

Enviado: 25 Out 2019 às 15:47
por FelipeH
Boa tarde!

Estou com um macro que gera um .pdf de uma determinada seleção, porém precisava ajustar ele mas não estou conseguindo.

Preciso que o macro faça:
- Gerar .pdf de um intervalo de células pré-definido (A9:H27);
- Perguntar onde e com qual nome desejo salvar;

O macro que estava tentando ajustar é o seguinte:
Código: Selecionar todos
Sub SalvarPDF()
 Selection.ExportAsFixedFormat Type:=xlTypePDF, OpenAfterPublish:=True
 End Sub
Agradeço a ajuda!

Re: Macro Gerar pdf de um intervalo de células

Enviado: 25 Out 2019 às 17:14
por Jimmy
Olá Felipe,

A sua macro está feita pra pegar o que estiver selecionado na planilha, e mandar pro PDF. Se quer a faixa A9:H27, basta selecioná-la antes de executar. Se quiser que essa faixa fique fixa, basta alterar o SELECTION da macro abaixo, por RANGE("A9:H27").

Se tiver várias planilhas e houver a possibilidade da macro rodar estando uma planilha selecionada, e os dados a serem exportados estarem em outra planilha, então tem que fazer ajustes. Me avise se for o caso. Da fora que está, a faixa A9:H27 (ou a selecionada) a ser exportada é sempre da planilha que está ativa.

Segue a macro:
Código: Selecionar todos
    Caminho = Application.GetSaveAsFilename("", _
             "PDF *.PDF,*.PDF,Tudo *.*,*.*", 1, "Escolha o local e nome para salvar o PDF.")
    
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Caminho, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Jimmy San Juan

Re: Macro Gerar pdf de um intervalo de células

Enviado: 26 Out 2019 às 10:07
por FelipeH
@Jimmy, obrigado pelo auxílio!

Inclui o seu código junto ao que estava montando e o resultado ficou exatamente como eu precisava.

Pelo fato da minha planilha ser bloqueada, não é permitido fazer uma seleção, portanto coloquei no código para ele fazer a seleção que necessito e posteriormente gerar o .pdf

Fica abaixo o código finalizado.
Código: Selecionar todos
Sub SalvarPDF()
    Range("A9:H27").Select
    
    Caminho = Application.GetSaveAsFilename("", _
             "PDF *.PDF,*.PDF,Tudo *.*,*.*", 1, "Escolha o local e nome para salvar o PDF.")
             
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Caminho, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=True
 End Sub
Valeu, resolvido!