Estou anexando um GIF que mostra o resultado obtido ao aplicar o código abaixo.
Dessa forma é possível fazer com que as linhas sejam exibidas ou não, de acordo com o preenchimento em determinada célula que pode ser adequadapor intermédio do código.
O código abaixo deverá ser inserido seguindo os passos abaixo:
1. Com o Excel aberto,
2. Pressione Alt+F11
3. No lado esquerdo estará o Projeto - VBAProject
4. Abra a pasta Microsoft Excel Objetos
5. Clique duas vezes em EstaPasta_de_trabalho
6. Cole o código abaixo
7. No código defini o nome da guia para reconhecimento com o nome "Ocultar" (altere para o nome da sua guia)
8. Defini a célula que deve estar preenchida (ou não) na variável vLinhas_ColunaI, caso seja outra célula, altere o range definido.
9. Se manter esse código, adeque o nome da guia e preencha ou não a célula I7 que o efeito será aplicado conforme o GIF.
' vgLoop =Usado para estrutura de repetição.Dim vgLoop AsLongPrivateSubWorkbook_SheetChange(ByValShAsObject,ByValTargetAsRange)' vLinhas_ColunaI =Usado para definir quais linhas da coluna I deverão ser verificadas caso ocorra alteração.' vRow =Usado para varrer todas as linhas do RANGE que será definido na variável vLinhas_ColunaI.Dim vLinhas_ColunaI AsRangeDim vRow AsVariantSet vLinhas_ColunaI =Range("I7")'Valida apenas se ocorreu alteração no range acima.IfNotIntersect(Range(Target.AddressLocal), vLinhas_ColunaI)IsNothingThen'Varre todas as linhas do range.ForEach vRow In vLinhas_ColunaI.Rows'Caso alguma linha contenha informação, então exibe as linhas.If vRow.Value2<>""AndIsNull(vRow.Value2)=FalseThenCall fsOcultarLinhas("Ocultar",True)'Finaliza execução da SUB.ExitSubEndIfNext'Se chegou até aqui, então na estrutura FOR não foi encontrado nenhum valor preenchido.Logo, oculta as linhas.Call fsOcultarLinhas("Ocultar")EndIfEndSubSub fsOcultarLinhas(ByVal vpNomeGuia AsString,OptionalByVal vpExibirLinhas AsBoolean=False)' vpNomeGuia =Nome da guia que terá as células ocultas.' vpExibirLinhas =Define se deve ser exibido ou não as linhas caso seja necessário (TRUE se sim, FALSE se não).'Variável OPCIONAL com valor padrão = FALSE.'Seleciona a guia.Sheets(vpNomeGuia).Select'Seleciona as linhas
Rows("8:28").Select'Define se oculta ou não as linhas de acordo com o vpExibirLinhas.If vpExibirLinhas =TrueThenSelection.EntireRow.Hidden=FalseElseSelection.EntireRow.Hidden=TrueEndIfEndSub
Ocultar linhas VBA
em VBA
Postado
Ola rafra, veja se o código abaixo te ajuda.
Estou anexando um GIF que mostra o resultado obtido ao aplicar o código abaixo.
Dessa forma é possível fazer com que as linhas sejam exibidas ou não, de acordo com o preenchimento em determinada célula que pode ser adequada por intermédio do código.
O código abaixo deverá ser inserido seguindo os passos abaixo:
1. Com o Excel aberto,
2. Pressione Alt+F11
3. No lado esquerdo estará o Projeto - VBAProject
4. Abra a pasta Microsoft Excel Objetos
5. Clique duas vezes em EstaPasta_de_trabalho
6. Cole o código abaixo
7. No código defini o nome da guia para reconhecimento com o nome "Ocultar" (altere para o nome da sua guia)
8. Defini a célula que deve estar preenchida (ou não) na variável vLinhas_ColunaI, caso seja outra célula, altere o range definido.
9. Se manter esse código, adeque o nome da guia e preencha ou não a célula I7 que o efeito será aplicado conforme o GIF.