Auto Hide / Unhide Rows 1 -100 com base no valor da célula na primeira coluna

0

Eu tenho uma folha que eu tenho a primeira célula A1 dado um número de 0 ou 1 com base na entrada de outra folha, dependendo de uma seleção do usuário.

Se a célula A1 mudar para 0, a linha inteira ficará oculta.

Estou usando o seguinte abaixo e funciona bem Auto / ocultando a linha.

O que pretendo fazer agora é mostrar a linha se a mesma célula mudar de 0 para 1.

Obrigado por qualquer ajuda! Aqui está o arquivo ... link

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [A:A]) Is Nothing Then
        Target.Rows.Hidden = UCase(Target.Value) = "0"
    End If
End Sub

Uma cópia da planilha pode ser encontrada aqui .

    
por klocksbass 20.05.2018 / 00:45

1 resposta

1

Use este código no módulo Sheet2

Option Explicit

Private Sub Worksheet_Calculate()    'Sheet2 Module

    Const FC = "A"    'Filter Column

    Dim lr As Long, filterCol As Range

    lr = Me.Cells(Me.Rows.Count, FC).End(xlUp).Row      'Determine last cell in ColA

    Set filterCol = Me.Range(Me.Cells(1, FC), Me.Cells(lr, FC)) 'ColA "UsedRange"

    Application.EnableEvents = False
        filterCol.Formula = "=Sheet1!A1"                'Update all formulas
        filterCol.AutoFilter Field:=1, Criteria1:="1"   'Show only rows where ColA = 1
    Application.EnableEvents = True
End Sub

Isso capturará a interação do usuário em Sheet1 que atualiza as fórmulas em Sheet2

Ele ocultará todas as linhas com valor 0 em Sheet2.colA

    
por 21.05.2018 / 09:20