🎉 SEMANA DO CONSUMIDOR

Últimos dias para comprar os cursos com 50% de desconto

Ver detalhes

Postado em em 26 de fevereiro de 2022

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?

106924483 1222449331486326 2624084600120637610 n

Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.