文章图片
文章图片
多数分析软件中的筛选器可以实现部分字段输入后显示下拉筛选框供使用者快速获取需要的选项值 。 如在tableau中的使用效果是这样的 。
在我的实际工作中 , 这样的操作方式是非常便捷的 , 在不需要输入全部款号的情况下也可进行筛选 , 特别是当你只记得款号的部分内容时 , 这种筛选器表现的尤为省时省力 。
软件毕竟不常用 , 那么如何利用Excel制作出仿软件式模糊查找下拉筛选框呢?
需要用的工具有列表框、文本框、宏代码、SQL 。 代码部分会在文末分享 , 所以实际操作中没有想象中的困难 。
使用时只需要插入列表框、文本框控件 , 再将文末的代码放置在相应的Sheet宏编辑器内 。
上述操作完成后 , 就可以进行额外的“高级操作” 。
代码中<select distinct 名称 from [清单$
where 名称>需要修改的部分是“名称”和“清单” 。 其中名称为本例中的款号 , 清单为需要查找的款号所在的工作表 。
本例的全部代码如下:
Private Sub TextBox1_GotFocus()
TextBox1.Text = \"\"
End Sub
Private Sub TextBox1_Change()
Dim arr() As Variant
ListBox1.Visible = True
'sql基本模式
Set conn = CreateObject(\"Adodb.Connection\")
conn.Open \"Provider=Microsoft.ACE.OLEDB.12.0;extendedproperties=excel 12.0;data source=\" & ThisWorkbook.Path &\"/\" & ThisWorkbook.Name
Sql = \"select distinct名称from [清单$
where名称like '%\" & TextBox1.Text & \"%'\"
Set rst = conn.Execute(Sql)
'sql基本模式语句结束
ListBox1.Clear
On Error Resume Next
arr = rst.getrows
ListBox1.List() = Application.Transpose(arr)
Set rs = Nothing
conn.Close
If ListBox1.ListCount < 1 Then
【魅族|EXCEL仿软件制作模糊查找下拉筛选框】ListBox1.Visible = False
End If
End Sub
Private Sub ListBox1_Click()
TextBox1.Value = https://mparticle.uc.cn/api/ListBox1.Value
ListBox1.Visible = False
End Sub
- 华为|别不信!魅族如今处境,雷军早有预料,小米也早已体验
- 魅族|魅族19配置曝光,天玑9000+三星E5直屏,网友: 来势汹汹!
- 魅族|对不起!魅族,这次确实令人失望了
- 魅族|魅族发布iPhone 13系列黑化独角兽手机壳:支持磁吸充电
- 智能|地震救人新突破!中科院研制出触嗅一体智能仿生机械手
- 上海微系统与信息技术研究所|地震救人新突破!中科院研制出触嗅一体智能仿生机械手
- 魅族|魅族19X放大招,首搭16+1TB存储,5400mAh电池+天玑9000
- excel|苹果换设计师了?iPhone14“定妆照”曝光,库克的审美终于提高了
- 小米科技|魅族18s降价迎战小米12X,3000元档轻薄旗舰手机谁更强
- 小米科技|功能性上小米是甩魅族一条街的,小米有趣的功能,实在太多了