Neste artigo você aprenderá como ajustar a resolução de tela em várias planilhas de uma pasta de trabalho no Excel com VBA de forma automática.
Algo que pode acontecer com frequência com os seus clientes, internos ou externos, é você criar um dashboard ou relatório no Excel e ao abrir em outro computador a visualização ficar diferente da sua.
Isso acontece se a resolução do monitor do cliente for diferente da resolução original aonde foi criada.
Veja como resolver isto manualmente e como automatizar o processo.
Como Ajustar a Tela Automaticamente
Veja a planilha abaixo.
Veja que a visualização do dashboard não está bem ajustada.
Para realizar o ajuste da visualização manualmente siga o procedimento:
- Selecione o intervalo que queremos que seja exibido, selecionando no caso o dashboard.
- Em seguida clique na guia Exibir -> Zoom na Seleção. Isso fará com que seja realizado um zoom e seja encaixada a visualização do dashboard.
Com esta mesma lógica podemos fazer com que este procedimento seja automatizado, veja como em seguida.
Automatizar Ajuste da Planilha Conforme Resolução no Excel
Para automatizar o ajuste da planilha conforme a resolução da tela realize o procedimento seguinte.
Clique com o botão direito na guia e clique em Personalizar Faixa de Opções, marque a opção Desenvolvedor.
Agora temos a guia Desenvolvedor aparecendo no Excel.
Clique no botão Gravar Macro e clique em OK.
Tudo o que estiver sendo feito à partir deste momento será gravado no VBA do Excel.
Repita a operação que viu antes de realizar o Zoom na seleção e no final clique em Parar Gravação.
Clique na guia Desenvolvedor e no botão Visual Basic, veja na árvore do projeto o Módulo1, clique ali e retire os códigos que são desnecessários.
Agora iremos criar um intervalo nomeado que usaremos no intervalo
Volte ao Excel fechando o editor do VBA.
Selecione o intervalo que deseja dar o zoom, e clique em Fórmulas->Definir Nome e como abaixo coloque em Nome: tela e em Escopo: selecione a planilha atual, não deixe na pasta de trabalho.
Clique em Ok, e repita esta ação para todas as planilhas que deseja dar o zoom, sempre colocando o intervalo que deseja visualizar em cada planilha.
Retorne no VBA e no código abaixo altere o range para “tela”. Isso fará com que a seleção e o ajuste ocorra neste intervalo nomeado.
Altere o código conforme abaixo aonde temos então um tratamento de erros para que se não houver o intervalo nomeado em alguma planilha ele passe direto.
E em Activesheet.Range(“A1”).Select é selecionada a célula A1.
Após isso clique em EstaPastaDeTrabalho e clique duas vezes sobre ela.
Clique em Workbook e selecione o evento SheetActivate, digite o nome do procedimento que criamos anteriormente, lsAjustaTela.
Sub lsAjustaTela()
On Error GoTo Sair
ActiveSheet.Range("tela").Select
ActiveWindow.Zoom = True
ActiveSheet.Range("A1").Select
Sair:
Exit Sub
End Sub
Este evento é disparado no momento em que uma planilha é selecionada.
Ao clicar é chamado o procedimento lsAjustaTela que realizará o ajuste da visualização da planilha conforme a resolução do monitor.
Download Arquivo Ajustar a Resolução de Tela Automática no Excel
Clique no botão abaixo para realizar o download do arquivo de exemplo: