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:
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
- 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:
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:
- 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!
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.