Blog

Postado em em 26 de fevereiro de 2022

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:

Private Declare PtrSafe Function GetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long

Sub VerificarResolucao()

Dim resolucaoHorizontal As Long
Dim resolucaoVertical As Long
Dim configZoom As Long

resolucaoHorizontal = GetSystemMetrics32(78)
resolucaoVertical = GetSystemMetrics32(79)


If resolucaoHorizontal = 1280 Then
   '720p HD
   '90% de Zoom
   configZoom = 90

ElseIf resolucaoHorizontal = 1920 Then
   '1080p Full HD
   '140% de Zoom
   configZoom = 140

ElseIf resolucaoHorizontal = 2560 Then
   '1440p Quad HD (ou 2K)
   '190% de Zoom
   configZoom = 190

ElseIf resolucaoHorizontal = 3840 Then
   '2160p Ultra HD (ou 4K)
   '240% de Zoom
   configZoom = 240

ElseIf resolucaoHorizontal = 7680 Then
   '4320p Ultra Full HD (ou 8K)
   '340% de Zoom
   configZoom = 340

End If


For Each aba In ThisWorkbook.Sheets
   aba.Activate
   aba.Range("A1").Select
   ActiveWindow.Zoom = configZoom
Next

Sheets("Macros").Activate

End Sub

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

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:


2 3

Private Sub Workbook_Open()

Call VerificarResolucao

End Sub

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?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador