Notifications
Clear all

Ocultar Linha e Coluna via VBA com condição

16 Posts
4 Usuários
0 Reactions
3,805 Visualizações
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Ola a todos, boa tarde.

Há algum tempo aqui no fórum, consegui através da ajuda de vocês uma macro que ocultava e reexibia determinadas linhas que tivessem o valor Zero em uma coluna específica. Hoje eu gostaria de aperfeiçoar essa idéia com a possibilidade de também ocultar e reexibir as colunas. Tudo junto, na mesma ação.

Em anexo tem uma planilha que exemplifica a minha idéia. Explicando, ficaria dessa forma:

Existe um intervalo de linhas e colunas, no caso, "A6:Q54" que possuem algum tipo de dado, no caso serão valores. No intervalo A5:R5 tem fórmulas que contam quantos valores existem em cada coluna desse intervalo. Esse é o intervalo que deve ser analisado para ocultar e/ou reexibir essas colunas. Quando o resultado da contagem for ZERO, a coluna correspondente deve ser ocultada.

Também existe no intervalo "R6:R54" a mesma fórmula de contagem, porém esta conta quantos valores existem nas linhas do intervalo, da mesma forma que as colunas, caso o resultado da contagem na linha for ZERO, esta deve ser ocultada e/ou reexibida.

Caso o código estivesse em prática, do intervalo "A5:R54" seriam ocultadas as linhas: 22, 26, 29, 31, 44, 48 e 54, e seriam ocultadas as colunas: K, L, N, O, P e Q.

Os valores internos ao intervalo são dinâmicos, o que por consequência podem alterar os totais na linha 5 e na coluna R onde será realizado a pesquisa para ocultar/reexibir.

Sendo assim, o evento recomendável seria o Calculate, mas Isso poderia deixar a planilha um pouco lenta. Como a idéiaa é que tal procedimento seja fruto de uma pesquisa, acho que o evento mais adequado seriam o CHANGE, acionado pela alteração de uma célula específica, neste caso a A2.

Em resumo, a macro deve ser acionada pela alteração da célula A2, percorrendo a linha 5 e a coluna R buscando pelo valor ZERO e ocultado linhas e colunas correspondentes.

É isso.

 
Postado : 21/05/2016 10:15 am
edilsonfl
(@edilsonfl)
Posts: 227
Estimable Member
 

Desconsidere a mensagem acima, enviei antes de perceber que o tópico já estava com a solução na 2ª página.

Quando ajuda for útil dê um clique na mãozinha, isso atribui ponto ao colaborador.

 
Postado : 22/05/2016 8:10 pm
Página 2 / 2