Vimos em artigos anteriores como a programação em VBA no Excel pode ser um diferencial na construção de planilhas mais elaboradas e mais eficientes. Uma aplicação que frequentemente é desenvolvida é a elaboração de Dashboards no Excel, que nada mais são do que painéis informando um conjunto específico de indicadores. Para este tipo de aplicação, o uso de botões de comando e macros em VBA é muito frequente. Com este uso, vem a necessidade de, eventualmente, ocultarmos ou exibirmos algumas colunas ou linhas no Excel. No artigo de hoje vamos entender como funciona o código em VBA para executar estas duas tarefas.
Vamos começar pelo código que oculta um grupo de colunas no Excel. Nossa função é mostrada abaixo.
Sub esconderColunas()
‘Escondendo colunas de B a D
Columns(“B:D”).EntireColumn.Hidden = True
End Sub
Se você não faz idéia de como ou onde inserir este código Clique Aqui para entender mais sobre macros ou aqui para aprender os recursos básicos do VBA.
Veja que o código é simples, mas vamos entender realmente o conceito. Após a declaração da função acrescentamos um comentário – em VBA, o comentário é marcado pelo caractere ‘. O código que executa o comando de ocultar as colunas é o EntireColumn.Hidden que recebe o valor True. Neste trecho estamos dizendo ao Excel para, dado o intervalo de B até D, vamos esconder as colunas inteiras (EntireColumn.Hidden) atribuindo o valor True para validar. Intuitivamente já inferimos que, para mostrar as colunas escondidas, basta atribuir o valor False.
Sub mostrarColunas()
‘Mostrando colunas de B a D
Columns(“B:D”).EntireColumn.Hidden = False
End Sub
Construímos duas funções para atribuir cada uma aos botões da planilha abaixo.
Assim, ao atribuir as macros para cada botão, podemos manipular nossa planilha para exibição ou não das colunas.
Como VBA é prática e lógica entendemos que, para realizar a mesma tarefa de ocultar ou exibir linhas, basta utilizar o mesmo princípio acima, com as funções:
Sub escondeLinhas()
‘Escondendo as linhas de 1 a 5
Rows(“1:5”).EntireRow.Hidden = True
End Sub
Sub mostraLinhas()
‘Mostrando as linhas de 1 a 5
Rows(“1:5”).EntireRow.Hidden = False
End Sub
Veja que nosso comando agora é EntireRow.Hidden. Faça o download das planilhas de exemplo deste artigo para estudar e para ajudar você a produzir documentos cada vez mais elaborados e eficazes.
Aprenda os primeiros passos para se tornar um “monstro” em VBA, CLIQUE AQUI e conheça o curso em 2 Ebooks.
Até o próximo artigo!