搜索框加持 即时呈现查询结果! Excel动态查询新玩法

  发布时间:2024-11-25 09:32:32   作者:佚名   我要评论
我们介绍过使用vba制作动态数据查询,今天我们就来看看动态筛选查询并即时显现方法,详细请看下文介绍

之前我们介绍过利用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动态查询的使用方法,希望大家喜欢,请继续关注脚本之家。

相关文章

最新评论