之前我們介紹過利用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
微信掃一掃
支付寶掃一掃