【軟件|EXCEL仿軟件制作模糊查找下拉篩選框】
文章圖片

文章圖片
多數分析軟件中的篩選器可以實現部分字段輸入后顯示下拉篩選框供使用者快速獲取需要的選項值 。 如在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
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
相關經驗推薦
- 酷睿處理器|11/12代酷睿+Win11封殺4K藍光碟 播放軟件廠商回應:無能為力
- 軟件|10款職場寶藏APP,讓你的工作效率提升至少10倍
- 軟件|這些相親軟件也很寶藏!
- 軟件|手機上必備的懸浮窗功能,便捷又貼心,為什么大家都不怎么用?
- 汽車|工信部:2022年對應用商店、第三方軟件開發工具包等實現監管全覆蓋
- 軟件|2021年企業協作行業盤點:打破外延,擁抱生態
- excel|讓人熱淚盈眶的科技新聞!沒想到你是這樣的魅族
- 軟件|一部手機的壽命是多久,影響手機壽命的罪魁禍首是什么?
- 尼康|z50的觸控以及屏幕顯示效果,軟件體驗甚至能,把a73按在地上摩擦
- 軟件|超越三星重回世界第一,iPhone13大賣,蘋果又贏了
