根据两个条件隐藏行

根据两个条件隐藏行

在论坛上解决这个问题花了一个小时,但没有成功。

  1. 想要在任何命名的工作表/工作簿上使用此代码
  2. 所有工作簿的设置都相同
  3. 想要查看 A 列是否有值“A”,并查看 P 列是否有数字零
  4. 如果两者都正确,则隐藏该行
  5. 运行整个工作表---这些工作表始终少于 500 行。

示例表:

示例表

答案1

使用以下公式从 S9 开始创建一个辅助列:

=IF((A9="A")*(P9=0)=1,"HIDE","SHOW")

在 VBA 中使用以下脚本:

Option Explicit
Sub Worksheet_Activate()

    'hide all lines that match criteria
    Dim i As Long

    'finds lines. 19 denotes the S column. Change 500 to last row.
    For i = 9 To 500
        If Cells(i, 19).Value = "HIDE" Then
            'hides row
            Rows(i).EntireRow.Hidden = True
        End If
    Next

End Sub

每次激活工作表时,此代码都会运行,并且所有符合条件的行都将被隐藏。您可能不希望出现这种情况,但这应该会为您指明正确的方向。

相关内容