Página 1 de 1

ocultar linhas específicas a partir de condições

Enviado: 16 Ago 2020 às 12:55
por Ana001
Olá, pessoal!

Possuo uma planilha onde eu gostaria de ocultar diversas linhas a partir de condições. EX, se a célula B15 estiver vazia então a célula B16 estará oculta, caso contrário ela será exibida.; Se a célula B17 estiver vazia então a célula B18 estará oculta, caso contrário ela será exibida.; Se a célula B19 estiver vazia então a célula B18 estará oculta, caso contrário ela será exibida... E assim sucessivamente.
Possuo um código que usei numa outra planilha que obtive com a ajuda do pessoal do fórum, mas se eu tento dar sequencia ele não roda nas demais células.
[Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$1" Then Exit Sub
If Target.Value <> "" Then Rows(2).Hidden = False Else Rows(2).Hidden = True
End Sub]
Já tentei usar elseif, após pesquisas, mas ele me retornar um erro de elseif sem if
alguém poderia me ajuda?

Re: ocultar linhas específicas a partir de condições

Enviado: 16 Ago 2020 às 13:53
por osvaldomp
Experimente:
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim k As Long
  If Target.Address <> "$C$1" Then Exit Sub
  For k = 2 To Cells(Rows.Count, 2).End(3).Row
   Rows(k + 1).Hidden = Cells(k, 2) = ""
  Next k
End Sub

Re: ocultar linhas específicas a partir de condições

Enviado: 16 Ago 2020 às 14:34
por Ana001
osvaldomp escreveu:Experimente:
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim k As Long
  If Target.Address <> "$C$1" Then Exit Sub
  For k = 2 To Cells(Rows.Count, 2).End(3).Row
   Rows(k + 1).Hidden = Cells(k, 2) = ""
  Next k
End Sub
O código não funcionou, estou adicionando uma planilha ilustrativa para ficar mais claro do que quero fazer

Re: ocultar linhas específicas a partir de condições

Enviado: 16 Ago 2020 às 18:51
por osvaldomp
Você passou informações ERRADAS. No primeiro post você informou que queria verificar células vazias na coluna B, porém na planilha você informou que quer verificar na coluna A. :?: :?: :?:

Ainda, pode-se ocultar linhas e colunas , mas não uma única célula, como você repetidamente descreveu.

Ainda, o código será disparado após alteração manual em C1, conforme o código que você publicou no primeiro post. No entanto, C1 na sua planilha está mesclada com um monte de outras células. :evil: :twisted:
Isso não vai funcionar. Você precisa informar com exatidão em que momento você quer que o código seja executado.

O código abaixo é o código anterior, alterado para verificar células vazias na coluna A, conforme descrito na sua planilha.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim k As Long
  If Target.Address <> "$C$1" Then Exit Sub
  For k = 15 To Cells(Rows.Count, 2).End(3).Row
   Rows(k + 1).Hidden = Cells(k, 1) = ""
  Next k
End Sub