之前我們介紹過利用VBA窗體設計並實現工作表數據的動態查詢(利用VBA實現工作表數據的動態查詢)。在這一篇,我們將直接在Excel工作表上,實現動態篩選查詢並即時顯現。實現效果如下:
1.我們可以在B1單元格選擇查找字段;
2.當我們在E1單元格的搜索框輸入時,工作表數據會自動篩選並即時呈現;當清空搜索框內容時,則取消篩選狀態並顯示全部數據。
實現效果GIF
實現步驟
1.查找字段下拉框
為B1單元格增加數據驗證,驗證條件設置“允許”為序列,“來源”為=$3:$3。
增加數據驗證
2.搜索文本框
依次選擇開發工具—>插入—>ActiveX控件,點擊“文本框”控件,並拖動放置在E1單元格。
插入“文本框”控件
3.TextBox控件的Change事件
我們雙擊“文本框”控件,即可直接進入Change事件的VBA編輯區界面。
Private Sub TextBox1_Change() '設置在搜索之前,先選擇查找字段 If Range("B1").Value = "" Then TextBox1.Text = "" Exit Sub End If '獲取工作表數據的篩選列號 Dim fieldColumn As Integer '選中第三行數據 Range(Range("a3"), Range("a3").End(xlToRight)).Select fieldColumn = Selection.Find(What:=Range("B1").Value, LookAt:=xlWhole).Column '篩選搜索的數據 Selection.AutoFilter ActiveSheet.Range("A3").CurrentRegion.AutoFilter Field:=fieldColumn, Criteria1:="*" & TextBox1.Text & "*" '激活文本框 TextBox1.Activate '當文本框內容為空,取消篩選狀態 If TextBox1.Text = "" Then ActiveSheet.Range("A3").CurrentRegion.AutoFilter End If End Sub
以上就是 Excel動態查詢的使用方法,希望大家喜歡,請繼續關注。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/184669.html