excel - 用户表单组合框搜索,但如果为空则清除
问题描述
我有一个用户表单,用户从下拉框中输入选择,一旦按下命令按钮,它就会过滤和排序工作表以向他们显示所需的内容。
但是,我正在努力寻找一个解决方案,如果为空白则不在该列上应用任何过滤器。
有人可以帮忙吗?
Private Sub CommandButton1_Click()
ThisWorkbook.Sheets("Employee List").Visible = True
ThisWorkbook.Sheets("Employee List").Select
Sheets("Employee List").CommandButton1.Visible = False
Sheets("Employee List").CommandButton2.Visible = False
Sheets("Employee List").CommandButton3.Visible = True
Sheets("Employee List").CommandButton4.Visible = True
Worksheets("Employee List").ListObjects("Employee_List").Range.AutoFilter Field:=7, Criteria1:=ComboBox1.Value, Operator:=xlAnd
Worksheets("Employee List").ListObjects("Employee_List").Range.AutoFilter Field:=8, Criteria1:=ComboBox2.Value, Operator:=xlAnd
Worksheets("Employee List").ListObjects("Employee_List").Range.AutoFilter Field:=12, Criteria1:="True", Operator:=xlAnd
Worksheets("Employee List").ListObjects("Employee_List").Range.AutoFilter Field:=30, Criteria1:="<=" & Me.ComboBox3.Value, Operator:=xlAnd
Worksheets("Employee List").ListObjects("Employee_List").Range.AutoFilter Field:=31, Criteria1:="Yes", Operator:=xlAnd
Worksheets("Employee List").ListObjects("Employee_List").Range.AutoFilter Field:=32, Criteria1:="No"
Worksheets("Employee List").Columns("E:E").EntireColumn.Hidden = True
Worksheets("Employee List").Columns("I:P").EntireColumn.Hidden = True
Worksheets("Employee List").Columns("R:S").EntireColumn.Hidden = True
Worksheets("Employee List").Columns("T:T").EntireColumn.Hidden = True
Worksheets("Employee List").Columns("V:AF").EntireColumn.Hidden = True
Me.Hide
ActiveWorkbook.Save
End Sub
解决方案
您可以编写一个简单的 If 语句来检查组合框是否有值,如果是,则使用过滤器设置表,否则省略 Criteria1 参数。
有关范围自动过滤方法的 Criteria1 参数的更多信息,请参见此处
尝试这样的事情:
If UserForm1.ComboBox1.Value <> "" Then
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter field:=1, _
Criteria1:=UserForm1.ComboBox1.Value
Else
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter field:=1
End If
推荐阅读
- python - AttributeError:当使用数据框处理时间时,只能使用具有 datetimelike 值的 .dt 访问器
- node.js - 从 POSTMAN nodeJs 向 Azure 服务总线发送消息
- python - 尽管 delay_factor=4,但 Netmiko 超时 - OSError:在 send_command_expect 中从未检测到搜索模式
- docker - Dockerfile - 如何使用 ENV 指令附加 PATH?
- sql - 如何使用条件设置自动递增列值
- batch-processing - 使用 Windows 批处理批量提取文本文件的一部分
- python - 为什么硒查找元素不起作用?
- python-3.x - crontab 在重新启动时无法运行 python 脚本
- javascript - 进行身份验证调用时放大超时
- phpstorm - PhpStorm 第一行不遵循“对齐连续分配”设置