excel动态查询表如何做? 利用VBA实现工作表数据的动态查询的教程
发布时间:2024-11-25 09:19:35 作者:佚名 我要评论
excel如何在多个工作表中查找某个给定值,当然要求这个给定的值在一个工作表中要是单一的值,如果是多个值我们可以稍微改一下代码即可,我们不再做详细讲解
利用VBA设计并实现工作表数据的动态查询。功能介绍:
- 1.当我们点击“动态加载并查询”时,将工作表数据加载到列表框中。同时,我们可以下拉选择查询字段;
- 2.当我们在文本框实时输入时,列表框将动态显示满足条件的数据。
- 3.当文本框内容全部清除时,列表框将显示工作表的全部数据。
实现效果GIF
UI设计
这里主要使用到ComboBox 、TextBox和ListView控件。
- 1.ComboBox控件:用于选择“查找字段”,名称设置为cbbField,Style属性设置为:2-fmStyleDropDownList。
- 2.TextBox控件:用于输入查找内容,名称设置为tbSearch。
- 3.ListView控件:用于显示全部或满足条件的工作表数据,名称和相关属性均默认。
窗体主界面设计VBA代码
1.定义全局变量-arr数组
'用于保存工作表数据 Dim arr() As Variant
2.窗体初始化事件
Private Sub UserForm_Initialize() cbbField.Value = Cells(1, 2) '将工作表的单元格数据赋值给arr arr = Range("a1").CurrentRegion Dim j As Integer '从第一列到最后一列 For j = 1 To UBound(arr, 2) '将查找字段添加至复选框 cbbField.AddItem Cells(1, j) '给ListView控件增加标题行 ListView1.ColumnHeaders.Add , , Cells(1, j), 60 Next With ListView1 .View = lvwReport .Gridlines = True End With Dim i As Integer For i = 2 To UBound(arr, 1) Dim item As ListItem Set item = ListView1.ListItems.Add item.Text = arr(i, 1) For j = 2 To UBound(arr, 2) item.SubItems(j - 1) = arr(i, j) Next Next tbSearch.SetFocus End Sub
3.TextBox控件的Change事件
Private Sub tbSearch_Change() '清空ListView的所有项目 ListView1.ListItems.Clear Dim i As Integer, j As Integer For i = 2 To UBound(arr, 1) If arr(i, cbbField.ListIndex + 1) Like tbSearch.Text & "*" Then Dim item As ListItem Set item = ListView1.ListItems.Add item.Text = arr(i, 1) For j = 2 To UBound(arr, 2) item.SubItems(j - 1) = arr(i, j) Next End If Next End Sub
以上就是利用VBA实现工作表数据的动态查询的教程,希望大家喜欢,请继续关注脚本之家。
相关文章
excel表格怎么用vba批量建立文件夹? Excel建文件夹实例
excel中需要创建文件夹来管理文件,通常都是一个一个创建,我们可以通过Excel的VBA(Visual Basic for Applications)编写一个简单的脚本来自动化这个过程,详细请看下文介2024-06-11excel表格怎么快速插入空行? VBA批量隔行加入空白行的技巧
excel表格怎么快速插入空行?excel表格中想要在表格中插入空行,我们可以使用vba实现,下面我们就来看看VBA批量隔行加入空白行的技巧2023-07-24- excel表格怎么利用VBA代码快速制作一份通讯录?excel表格中想要利用vba代码快速制作一份通讯录,该怎么制作呢?下面我们就来看看详细的教程,需要的朋友可以参考下2020-07-13
- excel表格怎么利用VBA代码插入交叉矩形图?excel表格中想要绘制交叉的矩形图,该怎么绘制这个图形呢?我们可以使用vba代码来绘制,下面我们就来看看详细的教程,需要的朋友2020-04-28
- excel怎么利用VBA代码插入同心圆?excel中想要画一个同心圆,该怎么绘制同心圆呢?下面我们就来看看excel总vba插入同心圆的教程,需要的朋友可以参考下2020-04-22
- excel怎么使用VBA代码自动生成三维饼图?excel表格中的数据想要自动生成三维饼图,该怎么制作呢?下面我们就来看看详细的教程,需要的朋友可以参考下2020-03-06
- excel表格怎么使用vba实现全屏显示?excel表格想要实现全屏显示,该怎么设置呢?我们可以使用vba实现,下面我们就来看看详细的教程,需要的朋友可以参考下2020-01-08
- excel表格中VBA文件怎么实现定时自我删除?excel中想要实现文件可以定时自动删除,该怎么实现这个功能呢?下面我们就来看看详细的教程,需要的朋友可以参考下2020-01-06
- excel表格怎么使用VBA向其他工作表追加数据?excel表格中想要向其他表格追加数据,该怎么实现呢?今天我们就来看看使用vba实现的方法,需要的朋友可以参考下2020-01-03
- excel表格怎么使用VBA删除汇总表以外的所有分表?excel表中制作了一个汇总表,想要删除汇总表以外的表格,该怎么删除呢?我们可以使用vba实现,下面我们就来看看详细的教程2020-01-02
最新评论