Ir ao conteúdo
  • Cadastre-se

VBA para gerar relatório PDF


Ir à solução Resolvido por Wendell Menezes,

Posts recomendados

Boa noite!

 

Eu já possuo o código para gerar PDF, porém tenho um problema.

Eu preciso gerar PDF de uma única aba, que contém dados dependentes de uma lista de validação de dados. Portanto quando altero o nome na lista de validação, as demais informações são alteradas de acordo com esse nome.

 

O problema é:

 

Eu preciso gerar um relatório PDF da mesma aba, porém preciso que a macro altere os valores da validação de dados de acordo com um critério.

Criei um formulário, contendo um combobox no qual você seleciona o critério desejado e clica no botão "Gerar PDF". Ao clicar nesse botão, preciso que a macro procure todos os valores associados a esse critério e vá alterando na lista de validação até o último valor disponível. Ao fazer isso, é necessário que a cada alteração gere uma página em PDF, como se fosse um print mesmo da própria página.

 

Exemplo:

 

Critério: Região

 

Região selecionada: RJ

 

Locais no RJ: Niteroi, Ipanema, Copacabana

 

Portanto, preciso que ao selecionar RJ a macro altere na lista de validação todas as opções de locais possíveis para a região RJ. E ao fazer isso, gere uma página em PDF para cada opção.

 

Se ainda restar alguma dúvida posso postar a planilha.

 

Obrigado!

Link para o comentário
Compartilhar em outros sites

@Wendell Menezes

 

Obrigado pela ajuda! Segue uma planilha de modelo https://dl.dropboxusercontent.com/u/61325364/Modelo%20Planilha.xlsm

 

Resumindo:

 

Preciso que procure a Regional na aba "VBA" e retorne o nome do prédio na aba "status" célula F2. E repita isso até não restar mais nenhum prédio dessa Regional. Nesse meio tempo, preciso que cada vez que o nome do prédio seja alterado na "Status!F2" seja gerado um documento PDF dessa aba, e no final todas as páginas devem constar no mesmo documento.

 

Deixei o código pela metade e provavelmente incorreto.

 

Novamente agradeço !

Link para o comentário
Compartilhar em outros sites

@Wendell Menezes

 

Tem a aba "Status" e a aba "Relatório". As duas contém informações diferentes.

 

Sempre que gerar o pdf a aba "Relatório" é calculada de acordo com a Regional escolhida no combobox.

Sendo assim, a primeira página do pdf é a aba "Relatório" e a segunda é a aba "Status". Preciso gerar um pdf das 2 abas, em páginas diferentes.

 

Obrigado

Link para o comentário
Compartilhar em outros sites

Sim, é possível. O código abaixo gera um PDF com duas páginas, sendo o intervalo A1:B10 das abas STATUS e VBA_Fotos.

Private Sub Gerar_Click()Dim ws1 As Worksheet, ws2 As WorksheetDim ShNames As VariantDim r As Long, i As LongDim Nome As String, Data As String, SvInput As StringSet ws1 = Worksheets("STATUS")Set ws2 = Worksheets("VBA_Fotos")ShNames = Array("STATUS", "VBA_Fotos")Application.ScreenUpdating = Falsews1.Shapes.Range(Array("Setas")).Visible = False    For r = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row        If ws2.Cells(r, 2) = Me.Regional Then            ws1.Range("F2") = ws2.Cells(r, 1)            Nome = "Infra" & " - " & Range("F2")            Data = Format(Date, "dd-mm-yyyy")            SvInput = ThisWorkbook.Path & "\" & Nome & "_" & Data & ".pdf"            Calculate            Sheets(ShNames).Select            ActiveSheet.Range("A1:B10").Select            Selection.ExportAsFixedFormat 0, SvInput, , , , , , False            i = i + 1        End If    Nextws1.Selectws1.Shapes.Range(Array("Setas")).Visible = TrueApplication.ScreenUpdating = TrueUnload MeMsgBox i & " PDF(s) gerados!", vbInformation, "# Informação"End Sub

Fonte: http://stackoverflow.com/questions/14404650/save-multiple-sheets-to-pdf

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...