Página 1 de 1

Ocultar a mesma linha em várias células baseado em célula

Enviado: 25 Ago 2020 às 14:10
por kennyx203
Boa tarde,

Estou com um pequeno problema... Possuo um Arquivo de Excel com 55 abas, enumeradas de 1 a 53 e uma escrita "Resumo" e outra "Database".

Cada uma dessas abas corresponde a uma semana do ano. E em cada uma deles, encontram-se nomes e os dias que correspondem àquela semana.

Não estou conseguindo imaginar um jeito ou forma de como fazer o seguinte acontecimento:
-EXEMPLO-

Eu quero digitar a letra D numa linha aleatória qualquer. Se eu digitar a letra D na aba/worksheet "31", as abas seguintes (32 a 53) terão a linha que contém a letra D ocultada. Logo, as abas 1 a 31 permaneceriam com a linha que contém a letra D, que foi digitada em uma linha aleatória na worksheet 31. Enquanto que, da 32 a 53, elas teriam a linha que contém a letra D na worksheet 31 ocultadas.

(Resumo: Oculta as seguintes, e permanece exibindo as anteriores)

Re: Ocultar a mesma linha em várias células baseado em célul

Enviado: 25 Ago 2020 às 15:27
por osvaldomp
kennyx203 escreveu: Possuo um Arquivo de Excel com 55 abas, enumeradas de 1 a 53 e uma escrita "Resumo" e outra "Database"
As guias das planilhas estão posicionadas em ordem crescente?
Quais as posições das planilhas Resumo e Database?


Eu quero digitar a letra D numa linha aleatória qualquer.
Em qual coluna ?

Se eu digitar a letra D na aba/worksheet "31", as abas seguintes (32 a 53) terão a linha que contém a letra D ocultada.
"a linha que contém a letra D" ~~~> em qual coluna ?
"a linha que contém a letra D" ~~~> a célula ou contém somente a letra D ou está vazia, é isso?

Re: Ocultar a mesma linha em várias células baseado em célul

Enviado: 26 Ago 2020 às 08:32
por kennyx203
osvaldomp escreveu:
kennyx203 escreveu: Possuo um Arquivo de Excel com 55 abas, enumeradas de 1 a 53 e uma escrita "Resumo" e outra "Database"
As guias das planilhas estão posicionadas em ordem crescente?
- Sim. Vão de 1 a 53, em ordem crescente.
Quais as posições das planilhas Resumo e Database?

- Database se encontra no final das planilhas (após a 53) enquanto que a Resumo se encontra atrás da planilha que corresponde a semana atual.

Eu quero digitar a letra D numa linha aleatória qualquer.
Em qual coluna ?
- Colunas I,J,K,L,M,N,O

Terão, possivelmente, a letra D, essas colunas e as linhas 5, até a 44.



Se eu digitar a letra D na aba/worksheet "31", as abas seguintes (32 a 53) terão a linha que contém a letra D ocultada.
"a linha que contém a letra D" ~~~> em qual coluna ?
"a linha que contém a letra D" ~~~> a célula ou contém somente a letra D ou está vazia, é isso?
- Contém SOMENTE a letra D.

Re: Ocultar a mesma linha em várias células baseado em célul

Enviado: 26 Ago 2020 às 13:48
por osvaldomp
Cole uma cópia do código abaixo no módulo de EstaPasta_de_trabalho.
Código: Selecionar todos
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 Dim k As Long, c As Range, f As String
  If Target.Count > 1 Then Exit Sub
  If Sh.Name = "Database" Or Sh.Name = "Resumo" Then Exit Sub
  If Intersect(Range("I5:O44"), Target) Is Nothing Or Target.Value <> "D" Then Exit Sub
  For k = ActiveSheet.Index + 1 To Sheets.Count
   If Sheets(k).Name <> "Database" And Sheets(k).Name <> "Resumo" Then
    With Sheets(k)
     Set c = .Range("I5:O44").Find("D", Lookat:=xlWhole)
     If Not c Is Nothing Then
      f = c.Address
      Do
       .Rows(c.Row).Hidden = True
       Set c = .Range("I5:O44").FindNext(c)
      Loop While Not c Is Nothing And c.Address <> f
     End If
    End With
   End If
  Next k
  On Error Resume Next: Set c = [A1].Find("D", Lookat:=xlPart)
End Sub
funcionamento - após inserir o conteúdo D em qualquer célula do intervalo I5:O44 de qualquer planilha, exceto Database e Resumo, o código irá ocultar todas as linhas que contenham em ao menos uma célula do intervalo I5:O44 o conteúdo D nas planilhas cujas guias estejam à direita da planilha que recebeu D, exceto Database e Resumo.