【发布时间】:2021-02-28 18:08:00
【问题描述】:
以下代码通过字符串 (filterEntry) 过滤工作表列 (filterColumn)。根据用户表单中两个复选框(CheckBoxNR1 和CheckBoxAI1)的选择,这应该将辅助过滤器应用于 E 列。
无论两个复选框(CheckBoxNR1 和 CheckBoxAI1)的值如何,这都会从 E 列中过滤out“NEEDS RESOURCE”和“AWAITING INFO”。
我想要达到的目标:
- “NEEDS RESOURCE”仅在
CheckBoxNR1 = False时被过滤掉 - “等待信息”仅在
CheckBoxAI1 = False时被过滤掉
当两个复选框 = True 时,不应将过滤器应用于 E 列。
'Filter for Team Report
If TeamReportBtnClick = True Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=filterColumn, Criteria1:=filterEntry
If CheckBoxAI1 = False And CheckBoxNR1 = False Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>NEEDS RESOURCE", Criteria2:="<>AWAITING INFO", Operator:=xlAnd
ElseIf CheckBoxAI1 = True And CheckBoxNR1 = False Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>NEEDS RESOURCE"
ElseIf CheckBoxAI1 = False And CheckBoxNR1 = True Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>AWAITING INFO"
End If
End If
【问题讨论】:
-
在应用这些过滤器之前您是否清除了这些过滤器?
-
这是每次生成的全新工作表,在此代码之前未应用任何过滤器。
标签: excel vba checkbox filter userform