根据第一列单元格的值自动隐藏/取消隐藏 1-100 行

根据第一列单元格的值自动隐藏/取消隐藏 1-100 行

我有一张工作表,其中第一个单元格 A1 根据用户的选择根据另一张工作表的输入给定一个数字 0 或 1。

如果单元格 A1 变为 0,则整行将被隐藏。

我正在使用下面的方法,它可以很好地自动/隐藏行。

我现在要做的是,当同一个单元格从 0 变为 1 时,取消隐藏该行。

感谢您的帮助!这是文件... http://jmp.sh/89BVI0A

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

您可以找到电子表格的副本这里

答案1

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

Sheet1这将捕获更新公式的用户交互Sheet2

它将隐藏所有具有值的0Sheet2.colA

相关内容