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:

Ajustar Zoom da Planilha
Ajuste automático de zoom no Excel com VBA

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:

VBA
<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
    Ícone VBAVBA Impressionador

    Como automatizar praticamente qualquer tarefa repetitiva que você faça dentro do Excel. Aprenda a criar integrações do Excel com o PowerPoint, Word, Outlook e muito mais. Aprenda a criar automações para resolver tudo com apenas um clique em um botão. Tudo isso com uma única linguagem que junta todos esses programas.

    Começar agoraSeta para a direita
    Fundo VBATelas VBA
  • 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

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:


Ajustar Zoom da Planilha

VBA
<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:

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!


Quer aprender mais sobre VBA com um minicurso básico gratuito?