Ir ao conteúdo
  • Cadastre-se
guilherme.utuari

RESOLVIDO VBA Área de impressão e pdf

Posts recomendados

Bom dia,

 

Procurei no fórum e internet mas não encontrei algo parecido, tenho uma planilha com cinco abas, mas preciso criar um pdf contendo só as três primeiras, sendo que a segunda e a terceira variam o range, ou seja, preciso de um VBA que identifique a área de impressão de acordo com o preenchimento das abas dois e três e crie um pdf das mesmas + a primeira aba.

Alguém poderia me ajudar com este problema?

 

Att,

 

Guilherme.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue exemplo, altere de acordo c/ o nome das suas plan(s)

 

Sub Teste3AbasPDF()
    Dim NomArq As String
    Dim stArqName As String
    With ThisWorkbook.ActiveSheet.PageSetup
        Worksheets("plan1").PageSetup.PrintArea = Worksheets("plan1").UsedRange.Address
        Worksheets("plan2").PageSetup.PrintArea = Worksheets("plan2").UsedRange.Address
        Worksheets("plan3").PageSetup.PrintArea = Worksheets("plan3").UsedRange.Address
        .Zoom = False    '(Pode-se ajustar o conteudo ao tam. da pag. Ex 65, 70,79,85, 95 a 100)
        .Orientation = xlPortrait    ' xlLandscape (para paisagem)
    End With
    NomArq = "TestePDF-" & Year(Date) & Month(Date) & Day(Date)
    stArqName = ActiveWorkbook.Path & "\" & NomArq & ".pdf"
    ThisWorkbook.Sheets(Array("Plan1", "Plan2", "Plan3")).Select

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                    stArqName _
                                    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
                                                                                              :=False, OpenAfterPublish:=True    'False (para nao abrir pdf, apos exportar)
    Sheets("plan1").Select
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole É quase isso cara, aconteceram só dois problemas,

1 - O VBA identifica todas as células formatadas, porém gostaria só que identificasse as células com dados, porém nas abas "failures" e "correct" à área de impressão precisa estar entre as colunas A:H.

2 - A aba "report" fica desconfigurada em relação as demais abas, a página fica mais "estreita", estou anexando a planilha.

 

Obrigado pela força!

Report 2015 - Foton ESN 36513214 - Copy.xlsx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Guilherme, veja agora se é quase ou isso.   

 

Fiz as altrações no código, a macro cria os intervalos de dados (range.name) nas 3 abas, seleciona-as e exporta 1 unico PeDeéFe 

Inclui tbem. a macro 'Inserir_imagens' e insirei umas imagens para teste, pois a plan que voce compartilhou, veio sem.

abx. 

Report 2015 - Foton ESN 36513214 - Copy.zip

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole é quase isso rs, gostaria que a primeira aba "report" não fosse dividida em duas e que todas as paginas fossem configuradas em A4 ou relacionada, pois este relatório irá ser transformado em pdf e também impresso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

 gostaria que a primeira aba "report" não fosse dividida em duas e que todas as paginas fossem configuradas em A4 ou relacionada, pois este relatório irá ser transformado em pdf e também impresso.

O  que está querendo é  que a aba "report" e as outras 2 caíbam em 1 pagina (cada uma) , e com orientação retrato ?

 

Bom Isto é  uma questão de ajuste de conteúdo (dados)  ao tamanho da pagina.

 

Eu deixei no codigo essas opções de ajustes p/ voce poder configurar:

 

No código na 1ª  page setup da aba "report" altere conf. abaixo:

De:  .Zoom = False   Para:   .Zoom = 65De: .Orientation = xlLandscape  Para:   .Orientation = xlPortrait 

E + abaixo na page setup das outras duas abas 

De:  .Zoom = False   Para:   .Zoom = 49De:    .Orientation = xlLandscape  Para:   .Orientation = xlPortrait 

veja o resultado (anexo),  c/  os ajustes acima  

 

abx.

 

    

TestePDF-201532.pdf

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou quase perfeito, o único detalhe seria a diferença de dimensão da página um com as outras, coloquei um print em anexo pra demonstrar como está ficando, seria possível que as páginas se enquadrassem na mesma proporção?

post-751415-0-32356800-1425376254_thumb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia guilherme, existem diferenças de dimensões da largura de pag. entre as abas, apesar da 1ª aba "Report" se estender até a coluna "L" a 2ª a "H" e a 3ª a "G" as medidas das larguras são diferentes entre elas, por isso que configurei a 1ª aba c/ 'zoom 65'  e as demais c/ 'zoom 49'. 

Veja o que acontece  (vide print 1)  se padronizar o zoom para as 3 abas c/ a larg. das colunas como estão:  (a ultima coluna, acaba 'caindo' para outra pagina)

Miniaturas_das_Paginas.jpg

Agora com estreitamento de ajuste das colunas das abas 2 e 3  c/ o zoom 65 p/ abas "report, Failures,Correct"  (vide print 2):

Miniaturas_das_Paginas2.jpg

Bom concluindo: para que as 3 paginas PDF ficam (com a largura ) padronizadas, é necessario padronizar as larguras das 3 abas.

Segue o link  da planilha c/ estreitamento da larg. das colunas p/ chegar ao ajuste acima.

Veja se consegue configurar as formatações como fonte tamanho da fonte etc.

  https://drive.google.com/file/d/0Bz6qa6N0K3fKeDR5d3YzUE5YYUE/view?usp=sharing

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole ficou perfeito o alinhamento do segundo print, fiz o download da planilha que  você disponibilizou, porém não estou conseguindo fazer o mesmo, quando tento gerar o pdf ele fica como o primeiro print que você mandou, o que posso estar fazendo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Guilherme, voce tem que ajustar as colunas até que todas as colunas com conteudo fiquem 'dentro' da linha pontilhada *

 

* (esta linha é criada quando o excel cria uma area de impresão)

 

De qq forma, estou enviando novamente o arq. pois nao tenho certeza se savei c/ essas alteraçoes no momento que fiz o upload. 

 

abx. 

 

Report 2015 - Foton ESN 36513214 - Copy.zip

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo! haha, porém só gostaria de saber como faço para alterar a borda das paginas no pdf? é necessário alterar o vba ? pois gostaria que ficasse com quase nada de borda, desculpe o transtorno, mas falta só isso e ficará perfeito, haha.

 

post-751415-0-61271900-1425438893_thumb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia guilherme, no codigo vba, nas configuraçoes de zoom, voce pode aumentar o valor pra mais 1 ou mais 2, ou seja se estiver 62 altere para 63 ou 64, dependendo do resultado obtido.

E tambem em layout da pagina -> margens, voce pode ajustar para o minino do lado esquerdo e direito.

 

abx.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Guilherme, fico contente por ter conseguido. So um dica,de prevencao, se pudesse relacionar as medidas de todas as colunas das 3 abas, poderia incluir essa informacao no codigo, evitando assim que amanha ou depois desconfigure, ai você teria todo o trabalho de re-configurar.

 

abx.  

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole desculpe, esqueci completamente do fórum, até o momento não tive problemas quanto a configuração das páginas, porém, é uma ótima ideia, seria muito complexo acrescentar estas medidas ao código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É necessário voce levantar todas as medidas das colunas ajustadas e incluir no codigo.E para acrescentar no codigo é preciso ter um conhecimento. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

ebook grátis "Aprenda a ler resistores e capacitores", de Gabriel Torres

GRÁTIS! BAIXE AGORA MESMO!