Tenho passado muito tempo tentando resolver esse problema e pesquisei em muitos fóruns, mas ainda não encontrei uma solução. Talvez alguém aqui possa encontrar uma resposta...
Quero executar algum código (alterar algumas células para mudar a formatação condicional, ocultar algumas linhas etc.) antes que o usuário imprima a pasta de trabalho.
Antigamente, isso era feito simplesmente executando o evento _BeforePrint integrado no Excel:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Do something
End Sub
No Excel 2010 e superior, o usuário pode clicar em visualização de impressão após pressionar Ctrl-P ou ir em Arquivo-> Imprimir.
O evento _BeforePrint só é acionado depois que o usuário clica em Imprimir!
Portanto, o usuário está vendo uma visualização de impressão da planilha antes da execução da minha macro. A folha agora não parece boa para impressão e o usuário começa a manipulá-la porque não sabe que a folha estará preparada para impressão após pressionar o botão Imprimir.
Alguém tem uma solução para isso?