Crie um botão de alternância para ocultar as linhas de uma folha com base nos valores da célula de outra folha

0

Eu tenho duas planilhas do Excel "Resumo" e "Unidades de proposta". Quero que a linha 12 na planilha Resumo seja oculta com base no valor R12 na planilha Unidades de proposta. O mesmo se aplica a todas as linhas entre 12 e 27 na planilha Resumo com base no valor em células (R: 27,59,72,76,122,136,222,231,302,322,329,367,450,467,482,493) na folha Unidades da proposta. Eu estou usando o seguinte código que mostra apenas a alternância e a primeira linha de 12 na folha de resumo e célula R12 na folha Unidades de proposta. Nenhuma ação ocorreu quando eu executei isso apenas para testá-lo.

Private Sub ToggleButton1_Click()

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

    Application.ScreenUpdating = False

    If Intersect(Target, Range("R12:R493")) Is Nothing Then Exit Sub

    If Target.Address = ("$R$12") And Target.Value = "NO" Then
        Sheets("Summary").Row("11").EntireRow.Hidden = False
    ElseIf Target.Address = ("$R$12") And Target = "YES" Then
        Sheets("Summary").Row("11").EntireRow.Hidden = True

    End If

    Application.ScreenUpdating = True

End Sub

End Sub
    
por G.Dav 07.09.2017 / 22:31

1 resposta

0

Descubra a diferença ... você se arrependerá quando a vir ...

Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False

Dim n As Integer

If Intersect(Target, Range("R12:R493")) Is Nothing Then Exit Sub

Sheets("Data").Range("A1") = Target.Row
n = Sheets("Data").Range("A2").Value


If Target.Address = ("$R$12") And Target.Value = "NO" Then
    Sheets("Summary").Rows("n").EntireRow.Hidden = False
ElseIf Target.Address = ("$R$12") And Target = "YES" Then
    Sheets("Summary").Rows("n").EntireRow.Hidden = True

End If

Application.ScreenUpdating = True

End Sub

Você precisa usar "Linhas" e não "Linha"

EDITAR: Você precisa criar outra planilha chamada "Data" (ou qualquer outra coisa, basta atualizar a fórmula e a macro) Deixar a célula A1 em branco, na célula A2, adicione a seguinte fórmula

=VLOOKUP(A1,C:D,2,FALSE)

Em seguida, na coluna C, liste o número da linha de destino e, na coluna D, liste os números de linha que precisam ser ocultados

    
por 07.09.2017 / 22:37