网站首页 > 资源文章 正文
引言
利用VBA设计并实现Excel工作表数据的动态查询。功能介绍:
1.当我们点击“动态加载并查询”时,将工作表数据加载到列表框中。同时,我们可以下拉选择查询字段;
2.当我们在文本框实时输入时,列表框将动态显示满足条件的数据。
3.当文本框内容全部清除时,列表框将显示工作表的全部数据。
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
猜你喜欢
- 2024-12-10 一个监控PLC的Android应用的开发过程-2
- 2024-12-10 android学习,listview
- 2024-12-10 ListView和RecyclerView的区别
- 2024-12-10 轻松学会:滑动组件ListView和GridView的使用
- 2024-12-10 常见面试题之ListView的复用及如何优化
- 2024-12-10 那些技术—Listview的性能提高篇
- 2024-12-10 Excel VBA,通过ListView查阅工作表数据、外部数据源数据(1/5)
- 2024-12-10 Android中ListView的使用方法
- 2024-12-10 PC SDK二次开发:基于C#语言编写的ABB机器人控制器扫描程序
- 2024-12-10 Excel vba 如何导入导出工作表,数据管理方法介绍
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)