Ir ao conteúdo

Excel Imprimir dados de uma Aba e automaticamente também de outra Aba


Ir à solução Resolvido por Visitante,

Posts recomendados

Postado

Boa noite

 

Venho aqui pedir ajuda para algo que pretendo.

 

Eu uso o Excel 2007 e Excel 2003 em Português de Portugal

 

Gostaria que, estando numa Aba ( exemplo Escala ), ao clicar no botão impressora do próprio Excel ou mesmo fazendo Ctrl+P para imprimir os dados que estejam na Aba Escala, ele depois imprima os dados que estejam noutra Aba ( exemplo FolhaHoras ), automáticamente.

 

Claro está, que deve ser necessário algum código VBA.

 

Não pretendo colocar um botão na planilha levando o código VBA para esse efeito, mas sim quando eu clicar no botão do Excel com um simbolo de uma impressora ou clicando nas teclas CTRL+P na planilha da Aba Escala, para imprimir os dados que estejam nessa Aba e da Aba FolhaHoras também.

 

Espero que me tenha explicado bem.

 

Obrigado desde já pela vossa atenção.

 

Cumps

Escala_2019.zip

Postado

Olá, Cumps.

Veja se o código abaixo atende. Lembrando, instale uma cópia dele no módulo de EsteLivro.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
 ActiveSheet.PrintOut
 Sheets("FolhaHoras").PrintOut
End Sub

 

Postado

Boa noite osvaldomp

 

Peço desculpa de só agora responder, mas só no trabalho é que posso testar.

 

Testei no trabalho e o código VBA faz com que sejam imprimidas 3 folhas, imprime a folha activa ( Escala ), a FolhaHoras e volta a imprimir a folha activa ( Escala ).

 

Cliquei na outra Aba, Dia, e faz a mesma coisa, imprime 3 folhas.

 

O que eu pretendo mesmo, é que só imprima a FolhaHoras quando a folha activa for a Aba Escala, se eu estiver em outras Abas, imprima só essa folha e não imprima a FolhaHoras.

 

Este código VBA imprime sempre a folha activa mais a FolhaHoras em qualquer Aba, e eu não pretendo isso.

 

Obrigado desde já pela tua ajuda osvaldomp.

 

Se me puderes resolver este problema, agradecia.

 

Bom fim de semana.

 

Cumps

  • Solução
Postado

Veja se atende.

A planilha ativa sempre será impressa e se ela for a Escala, a FolhaHoras também será.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
 Application.EnableEvents = False
  ActiveSheet.PrintOut
  If ActiveSheet.Name = "Escala" Then Sheets("FolhaHoras").PrintOut
 Application.EnableEvents = True
 Cancel = True
End Sub

 

Postado

osvaldomp

 

Levei numa PEN à casa de um amigo e testei, agora sim, agora ficou cinco estrelas.

 

Era isto que eu pretendia.

 

Os meus agradecimentos pela excelente ajuda que me deste.

 

Muito obrigado

 

Bom fim de semana

 

Cumps

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!