Ir ao conteúdo
  • Cadastre-se

Excel Ocultar linha baseado no valor de uma célula num intervalo de linhas


Posts recomendados

Boa tarde a todos.

 

Mais uma vez recorro aos amigos para uma ajuda sobre VB.

Tenho uma planilha onde preciso ocultar uma determinada linha, baseado no valor "SIM" ou "Não" de uma das células contidas num intervalo de colunas.

 

A planilha anexo é um exemplo do que preciso. Nela consta os valores em uma célula mesclada das colunas B,C, linhas 1 a 3.

Quando selecionar o valor "SIM" nas células, a linha 5 deve ficar visível.

Quando selecionar "NÃO" em uma das células, a linha 5 deve ficar oculta.

 

Desde já agradeço muito a ajuda de sempre.

EXEMPLO.xlsx

Link para o comentário
Compartilhar em outros sites

 

Experimente. Cole o código abaixo no módulo da planilha Plan1.

 

Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, [B1:C3]) Is Nothing Then Exit Sub
 Rows(5).Hidden = Application.CountIf([B1:B3], "NÃO")
End Sub

 

Link para o comentário
Compartilhar em outros sites

14 horas atrás, osvaldomp disse:

 

Experimente. Cole o código abaixo no módulo da planilha Plan1.

 


Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, [B1:C3]) Is Nothing Then Exit Sub
 Rows(5).Hidden = Application.CountIf([B1:B3], "NÃO")
End Sub

 

Caro @osvaldomp

Muito obrigado pela ajuda.

 

O código funciona parcialmente.

Por exemplo, quando seleciono SIM ou Não na célula B1, a linha 5 oculta e exibe, porém, quando combino SIM e NÃO nas outras células simultaneamente, a função na funciona.

Preciso que, no intervalo da coluna, quando alguma das células for selecionado SIM, a linha 5 apareça.

Por exemplo:

B1 = NÃO  

B2 = SIM    

B3 = NÃO

Linha 5 = EXIBE

 

B1 = SIM

B2 = SIM    

B3 = NÃO

Linha 5 = EXIBE

 

B1 = NÃO

B2 = NÃO   

B3 = NÃO

Linha 5 = OCULTA

 

E assim por diante em todas as combinações...

 

Obrigado.

 

 

Link para o comentário
Compartilhar em outros sites

17 horas atrás, gibbsonx disse:

O código funciona parcialmente.

Não! O código funciona integralmente com base nos critérios que você colocou antes.

Antes você colocou:

Quando selecionar o valor "SIM" nas células, a linha 5 deve ficar visível. ~~~> critério, 3 x SIM ~~~> visível

Quando selecionar "NÃO" em uma das células, a linha 5 deve ficar oculta. ~~~> critério, 1 x NÃO ~~~> oculta

 

E no último post você colocou:

Preciso que, no intervalo da coluna, quando alguma das células for selecionado SIM, a linha 5 apareça. ~~~> critério, 1 x SIM ~~~> visível

 

Então, para exibir, no critério anterior você queria 3 x SIM e agora você quer 1 x SIM. O código funciona corretamente, você é que se enrolou para explicar o que quer.

 

Para exibir a linha com critério 1 x SIM, e ocultar com critério 3 x NÃO, acrescente a parte em vermelho ao código conforme abaixo.

Rows(5).Hidden = Application.CountIf([B1:B3], "NÃO") = 3

 

dica - para responder clique em Responder, localizado abaixo da última postagem. Só clique em Citar se necessário.

Link para o comentário
Compartilhar em outros sites

Podem ser várias combinações.

Exemplo:

B1 VAZIO

B2 VAZIO

B3 VAZIO

LINHA 5 OCULTA

 

B1 NÃO

B2 VAZIO

B3 NÃO

LINHA 5 OCULTA

 

B1 VAZIO

B2 SIM

B3 NÃO

LINHA 5 EXIBE (devido a linha B2 ser SIM)

 

Ou seja, se todas as células do intervalo B1:B3 estiverem VAZIAS ou selecionado "NÃO", ou uma combinação de células do intervalo B1:B3 conterem células "NÃO" e VAZIAS, a linha 5 deve ficar oculta.

Se pelo menos 1 das linhas do intervalo B1:B3 for selecionado "SIM", independente das demais serem "NÃO" ou VAZIAS, a linha 5 deve ser exibida.

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...