尝试使复选框隐藏该行中的单元格读取特定值的所有行



所以我正在尝试创建一个复选框来隐藏该行中的单元格读取特定值的所有行。

我已为其分配了以下VBA脚本:

Sub Hide_Rows_Containing_Value()
If CheckBox1 = True Then
Dim c As Range
For Each c In Range("C2:C100").Cells
If c.Value = "Closed" Then
c.EntireRow.Hidden = True
End If
Next c
End If
End Sub

并为其分配了一个反向脚本,用于在取消选中该框时取消隐藏这些列。

然而,这似乎不起作用,有人知道我哪里出错了?

如果将名为"CheckBox1"的复选框放在Sheet1上,请在 Sheet1 模块中使用此代码


Option Explicit
Private Sub CheckBox1_Click()
Dim c As Range
Application.ScreenUpdating = False
With Sheet1
For Each c In .Range("C2:C" & .Cells(.Rows.Count, "C").End(xlUp).Row).Cells
If IsError(c) Then c.Value2 = "Closed"  'Hides errors as well
c.EntireRow.Hidden = (c.Value = "Closed" And .CheckBox1.Value)
Next
End With
Application.ScreenUpdating = True
End Sub

这将根据列C中包含单词"Closed"和复选框是否被选中的单元格隐藏或取消隐藏行

最新更新