创建一个切换按钮,根据另一张表的单元格值隐藏一张表的行

创建一个切换按钮,根据另一张表的单元格值隐藏一张表的行

我有两张 Excel 表“摘要”和“提案单位”。我希望根据提案单位表中的 R12 值隐藏摘要表中的第 12 行。根据提案单位表中单元格 (R:27,59,72,76,122,136,222,231,302,322,329,367,450,467,482,493) 中的值,这同样适用于摘要表中 12-27 之间的所有行。我使用以下代码,它仅显示摘要表中的切换和第一行 12 以及提案单位表中的单元格 R12。当我运行此代码只是为了测试它时,没有发生任何操作。

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

答案1

找出不同之处...当你看到它时,你会踢自己......

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

您需要使用“Rows”而不是“Row”

编辑:您需要创建另一张名为“数据”的工作表(或其他任何内容,只需更新公式和宏)将单元格 A1 留空,在单元格 A2 中添加以下公式

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

然后在 C 列列出目标行号,在 D 列列出需要隐藏的行号

相关内容