vba制作excel查询系统,用vba做一个简单的查询程序

http://www.itjxue.com  2023-01-20 13:54  来源:未知  点击次数: 

EXCEL如何用VBA实现多条件查询数据?

1、以商场2015年第一季度电器销售统计为例子,“产品”、“品牌”、“月份”3个条件的销售额进行查询。

2、假设要查询“康佳”的“1月”份“各类家电”的销售额,先建一个对应列的工作簿。如图,输入条件1:“成品名称”,条件2:“品牌名称”,条件3:“月份”,

3、下面到了建立宏的步骤:单击菜单栏中的“开发工具”——插入——表单控件——按钮,在出现的十字箭头上拖住画出一个按钮,如图所示。

4、在弹出的查找红对话框中选择“录制”,在弹出的“录制新宏”对话框中,修改宏名称为“查找”,单击确定。

5、单击“开发工具”——查看代码,打开VBA编辑器,如图所示。

6、在VBA编辑器点击插入-模块,如图,

7、现在来输入代码:

Sub查找()

DimiAsInteger,jAsInteger

arr1=Sheets("数据").Range("A2:D"Sheets("数据").Cells(Rows.Count,"A").End(xlUp).Row)

arr2=Sheets("查找").Range("A2:D"Sheets("查找").Cells(Rows.Count,"A").End(xlUp).Row)

Fori=1ToUBound(arr2)

Forj=1ToUBound(arr1)

Ifarr2(i,1)=arr1(j,1)Andarr2(i,2)=arr1(j,2)Andarr2(i,3)=arr1(j,3)Then

arr2(i,4)=arr1(j,4)

GoTo100

EndIf

Next

arr2(i,4)=""

100:

Next

Sheets("查找").Range("A2:D"Sheets("查找").Cells(Rows.Count,"A").End(xlUp).Row)=arr2

EndSub

8、现在回到EXCEL表格,右击按钮,选择“编辑文字”,修改按钮名称为“统计”。

9、那么就完成了。

EXCEL vba 做个整个EXCEL表格的查询系统

不是很难,但去弄这么一个东西也比较费时间,如果用VBA 窗体去做,大概需要二个控件,一个TEXTBOX用于关键字输入,一个LISTVIEW用于显示所有符合条件的项目,然后可LISTVIEW双击事件,返回到工作表,并选择相应的行,以进行修改

如何用Excel VBA构建数据查询界面

如何用Excel VBA构建数据查询界面(一)

在具体讲代码之前,我们先来总结下所有代码的实现逻辑。由于是查询界面,用户在进行查询的时候,必定是通过在搜索框输入需要查询的值,然后点击搜索,触发我们写的代码,代码也必定是埋在搜索按钮内,通过点击搜索按钮触发代码。

讲清楚这个逻辑之后,我们继续讲计算筛选的第二个功能,维度2筛选。

维度2指的是,在维度1的基础上更细分的维度。需求是当用户在第一个输入框输入需要搜索的值时,第二个搜索框能弹出维度1下的细分维度供用户进行选择,然后用户点击搜索按钮后,进行数据计算和呈现。

那么怎么实现呢?show me the code

首先是输入搜索关键字后第二个输入框出现维度2。

原理还是搜索到对应的值,然后通过这个值找到存放细维度表里面的其他值,将这些值赋值到下拉列表中。

其次是搜索计算,这个与维度1接近,这里不赘述。

最后是多维度排行榜的实现,点击刷新按钮,自动刷新各个维度的数据透视表,然后获取数据透视表。

本来一般的做法是通过数组,然后排序,但是这样操作比较复杂,项目赶着上线。所以比较取巧的采用了excel的数据透视表,在点击刷新按钮,和点击对应的数据透视表后,会自动刷新数据透视表。

实现代码如下:

讲到这里,数据查询界面的代码已经讲完了。由于项目赶着上线会出现重复代码,这个理论上可以用函数解决,以及部分垃圾代码可以用循环代替。

预告下以下一篇,我们开始讲静态和动态网页的Python爬虫实现,敬请期待。

最后,预祝大家圣诞快乐!撒花!

怎样在EXCEL里 编辑vba”查询“功能程序?

没有文件,这边提供代码思路分析

先判断B1和F1有无内容,如果是空值,则点击查询,不做任何动作,如果不为空,则根据内容匹配对应值后,将匹配到的数据输入到对应列

(责任编辑:IT教学网)

更多

推荐JSP教程文章