基于两个复选框值进行过滤
Filter based on two checkbox values
以下代码按字符串 (filterEntry
) 筛选 sheet 列 (filterColumn
)。根据用户表单中两个复选框(CheckBoxNR1
和 CheckBoxAI1
)的选择,这应该对 E 列应用辅助过滤器。
无论两个复选框 (CheckBoxNR1
& CheckBoxAI1
) 的值如何,此过滤器 out“NEEDS RESOURCE”和“AWAITING INFO”来自E 列
我想要达到的目标:
- “NEEDS RESOURCE”仅在
CheckBoxNR1 = False
时被过滤掉
- “等待信息”仅在
CheckBoxAI1 = False
时被过滤掉
当两个 Check Boxes = 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
所缺少的只是对存在复选框的用户窗体名称的引用(用户窗体称为 Reports
)
If TeamReportBtnClick = True Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=filterColumn, Criteria1:=filterEntry
If Reports.CheckBoxAI1 = False And Reports.CheckBoxNR1 = False Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>NEEDS RESOURCE", Criteria2:="<>AWAITING INFO", Operator:=xlAnd
ElseIf Reports.CheckBoxAI1 = True And Reports.CheckBoxNR1 = False Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>NEEDS RESOURCE"
ElseIf Reports.CheckBoxAI1 = False And Reports.CheckBoxNR1 = True Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>AWAITING INFO"
End If
End If
以下代码按字符串 (filterEntry
) 筛选 sheet 列 (filterColumn
)。根据用户表单中两个复选框(CheckBoxNR1
和 CheckBoxAI1
)的选择,这应该对 E 列应用辅助过滤器。
无论两个复选框 (CheckBoxNR1
& CheckBoxAI1
) 的值如何,此过滤器 out“NEEDS RESOURCE”和“AWAITING INFO”来自E 列
我想要达到的目标:
- “NEEDS RESOURCE”仅在
CheckBoxNR1 = False
时被过滤掉
- “等待信息”仅在
CheckBoxAI1 = False
时被过滤掉
当两个 Check Boxes = 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
所缺少的只是对存在复选框的用户窗体名称的引用(用户窗体称为 Reports
)
If TeamReportBtnClick = True Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=filterColumn, Criteria1:=filterEntry
If Reports.CheckBoxAI1 = False And Reports.CheckBoxNR1 = False Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>NEEDS RESOURCE", Criteria2:="<>AWAITING INFO", Operator:=xlAnd
ElseIf Reports.CheckBoxAI1 = True And Reports.CheckBoxNR1 = False Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>NEEDS RESOURCE"
ElseIf Reports.CheckBoxAI1 = False And Reports.CheckBoxNR1 = True Then
Sheets("Data_Sheet").Range("A1").CurrentRegion.AutoFilter Field:=5, Criteria1:="<>AWAITING INFO"
End If
End If