Ajustar Zoom da Planilha Automaticamente com VBA
Na aula de hoje eu quero te mostrar como ajustar zoom da planilha automaticamente para facilitar a visualização das informações!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala, Impressionadores! Na aula de hoje vamos te mostrar como ajustar o zoom da planilha com VBA!
Qual a utilidade disso? Você provavelmente já criou uma tabela, dashboard ou relatório, mas no computador de quem você enviou a visualização não ficou tão boa não é mesmo?
Pois é, a ideia é corrigir justamente esse problema, pois as pessoas acabam tendo diferentes monitores com diferentes resoluções e isso muda a quantidade de informações que ela consegue visualizar com o mesmo zoom.
Por isso vamos ajustar o zoom de forma automática com VBA para que isso não aconteça, então agora os seus relatórios vão ser ajustados à resolução de quem estiver utilizando.
Isso vai deixar o seu relatório/dashboard muito mais visual, pois vai sempre preencher a tela toda sem deixar aqueles espaços vazios como se não tivessem informações.
E aí, bora aprender como ajustar o zoom de forma automática no Excel para que seus relatórios fiquem sempre bem visuais?
Acessando o VBA
Para modificar/criar códigos, precisamos primeiramente abrir o ambiente de VBA. A partir do atalho do teclado Alt(+Fn)+F11 conseguimos fazer isso.
Vamos em seguida acessar o módulo já criado na aula anterior chamado “modVerificarResolucao”. Com um duplo clique entramos no módulo:

Lá vamos colocar e explicar pra vocês na aula de hoje o código que vai identificar e ajustar o zoom das abas do seu arquivo em Excel. Acompanhe a seguir o código:
<strong>Private Declare PtrSafe Function GetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long</strong><br><br><strong>Sub VerificarResolucao()</strong><br><br><strong>Dim resolucaoHorizontal As Long</strong><br><strong>Dim resolucaoVertical As Long</strong><br><strong>Dim configZoom As Long</strong><br><br><strong>resolucaoHorizontal = GetSystemMetrics32(78)</strong><br><strong>resolucaoVertical = GetSystemMetrics32(79)</strong><br> <br><br><strong>If resolucaoHorizontal = 1280 Then</strong><br><strong> '720p HD</strong><br><strong> '90% de Zoom</strong><br><strong> configZoom = 90</strong><br><br><strong>ElseIf resolucaoHorizontal = 1920 Then</strong><br><strong> '1080p Full HD</strong><br><strong> '140% de Zoom</strong><br><strong> configZoom = 140</strong><br><br><strong>ElseIf resolucaoHorizontal = 2560 Then</strong><br><strong> '1440p Quad HD (ou 2K)</strong><br><strong> '190% de Zoom</strong><br><strong> configZoom = 190</strong><br><br><strong>ElseIf resolucaoHorizontal = 3840 Then</strong><br><strong> '2160p Ultra HD (ou 4K)</strong><br><strong> '240% de Zoom</strong><br><strong> configZoom = 240</strong><br><br><strong>ElseIf resolucaoHorizontal = 7680 Then</strong><br><strong> '4320p Ultra Full HD (ou 8K)</strong><br><strong> '340% de Zoom</strong><br><strong> configZoom = 340</strong><br><br><strong>End If</strong><br><br> <br><strong>For Each aba In ThisWorkbook.Sheets</strong><br><strong> aba.Activate</strong><br><strong> aba.Range("A1").Select</strong><br><strong> ActiveWindow.Zoom = configZoom</strong><br><strong>Next</strong><br><br><strong>Sheets("Macros").Activate</strong><br><br><strong>End Sub</strong>Explicação do código acima (VerificarResolucao):
- Vamos invocar uma função da biblioteca do Windows, chamada GetSystemMetrics32, e por isso vamos declará-la na primeira linha do módulo. Ela vai nos retornar um número do tipo Long (inteiro, de módulo grande)
- Vamos dimensionar:
- as variáveis “resolucaoHorizontal”, “resolucaoVertical” e “configZoom” como número do tipo Long
- Armazenar na variável “resolucaoHorizontal” o resultado da função GetSystemMetrics32 usando o argumento número 78, que de fato vai representar o número de pixels que tem na direção horizontal da tela
- Armazenar na variável “resolucaoVertical” o resultado da função GetSystemMetrics32 usando o argumento número 79, que de fato vai representar o número de pixels que tem na direção vertical da tela
- Fazer uma verificação através de uma estrutura If para qual o número está armazenado na variável “resolucaoHorizontal”:
- Caso seja 1280, a conclusão é que sua tela é HD:
- Vamos armazenar na variável “configZoom” o número 90
- Caso seja 1920, a conclusão é que sua tela é Full HD:
- Vamos armazenar na variável “configZoom” o número 140
- Caso seja 2560, a conclusão é que sua tela é Quad HD (ou 2K):
- Vamos armazenar na variável “configZoom” o número 190
- Caso seja 3840, a conclusão é que sua tela é Ultra HD (ou 4K):
- Vamos armazenar na variável “configZoom” o número 240
- Caso seja 7680, a conclusão é que sua tela é Ultra Full HD (ou 8K):
- Vamos armazenar na variável “configZoom” o número 340
- Vamos utilizar de uma estrutura de repetição For Each, que vai fazer ações repetidas em uma unidade de um todo, que é formado por essas unidades. No caso a unidade é dada pela aba e o todo é o conjunto de abas do nosso arquivo. As ações serão:
- Ativar cada aba, que de fato representa “entrar naquela aba”
- Ativar a célula A1 da aba ativada anteriormente
- Configurar o zoom da aba ativa para o valor dado pela variável “configZoom”
- Após fazer o procedimento em todas as abas, o código segue
- Ao final do código, a aba “Macros” é ativada, para voltar para a “capa” da planilha
- Se encerra o código
- Caso seja 1280, a conclusão é que sua tela é HD:
OBS: Para saber mais sobre os tipos de dados no VBA, visite esse link aqui da Microsoft.
Disparar macro ao abrir a planilha: evento de abertura
Para fazer com que a nossa macro rode automaticamente ao abrir a planilha, deveremos utilizar de um evento no VBA, mais especificamente falando de um evento de abertura da planilha.
Um evento nada mais é do que um acontecimento que vai fazer alguma(s) ação(ões) disparar: o nosso código.
Com o VBA aberto, teremos que programar um evento Workbook_Open da forma mostrada abaixo, clicando duas vezes no menu à esquerda em “EstaPastaDeTrabalho”, e colocando o seguinte código:

<strong>Private Sub Workbook_Open()</strong><br><br><strong>Call VerificarResolucao</strong><br><br><strong>End Sub</strong>Explicação do código acima:
- O código acima diz respeito ao evento de abertura da planilha. Quando ela fora aberta, esse código irá ser disparado
- Vamos chamar a macro criada anteriormente, a VerificarResolucao
- Se encerra o código
Conclusão de Como Ajustar Zoom da Planilha
Nessa aula você aprendeu a lidar com:
- Macros no VBA
- Evento de abertura
- Estrutura If
- Tipos de dados no VBA
- Como verificar resolução da tela com VBA
- Ajustar zoom de forma automática no Excel
Esse é um recurso interessante, principalmente quando temos um dashboard ou queremos visualizar de forma mais eficiente as informações da planilha.
Até porque nem sempre o tamanho de tela vai ser o mesmo para todos, então esse ajuste automático torna o processo de visualização muito mais fácil e menos trabalhoso para o usuário.
Até o próximo post, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de PowerPoint, Excel, VBA e Power BI literalmente toda semana! Um abraço!
Hashtag Treinamentos
Para acessar outras publicações de VBA, clique aqui!

