搜索框加持 即时呈现查询结果! Excel动态查询新玩法
脚本之家
之前我们介绍过利用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动态查询的使用方法,希望大家喜欢,请继续关注脚本之家。