Dzwebs.Net

撰写电脑技术杂文十余年

VBA查询(筛选)Excel数据代码示例

Admin | 2008-6-19 13:00:49 | 被阅次数 | 26457

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

        利用VBA对Excel数据进行查询或筛选,实际上,指的就是对数据的读取与分析判断,符合条件的给予相应的操作,不符合的数据可不做任何操作!

        本文,举个例子,大体介绍该类用法的操作!

        下面的例子,所要实现的目标是,对学生成绩进行查询并进行判断,将成绩小于70分的人员学号与成绩存放到另外一个表!

        如下图,是一张学生成绩表!该表第一表,名称为Sheet1,序号为1;

        如下图,为第二表,名称为Sheet 2,序号为2;

        对照以上两图,下面我们就着手来操作吧!将表一中成绩小于70的人员学号与分数填充到表二中;

        选择表一,按快捷组合键“Alt+F11”进入到VBA代码编辑窗口!

        之后,按上图操作,在“Sheet 1(Sheet1)”上方点击右键,执行“查看代码”;弹出代码编辑窗口,然后在代码编辑窗口中选择好“Worksheet”和与之对应的右边的选项;最后输入如上的代码即可!

        该代码及事件的功能是:在表一中,只要选择了任何一个单元格,触发事件,就执行代码,将成绩小于70的人员的相关数据填充到表二中!

        如下图,为最终结果图!

        代码简介:

        ①读取单元格数据通用格式

        Worksheets(2).Cells(NoPass, 1).Value,此为数据引用方式,其格式是:Worksheets(“表名或序号“).Cells(“行序号“, “列序号“).Value;

        ②全部代码解释

        Dim NoPass
        NoPass = 3  '变量定义,用于填充至表二的行序号,由于本例从第三行开始填充,所以默认值为3
        For i = 2 To 10000  '利用循环读取表一数据,从第二行读到100000行;
        If (Worksheets(1).Cells(i, 4).Value < 70) Then  '判断读取的单元格数据是否小于70
            Worksheets(2).Cells(NoPass, 1).Value = Worksheets(1).Cells(i, 2).Value
            '将表一第2列对应的行数据填充到表二第1列对应的行;
            Worksheets(2).Cells(NoPass, 2).Value = Worksheets(1).Cells(i, 4).Value
            '将表一第四列对应的行数据填充到表二第2列对应的行;
            NoPass = NoPass + 1  '填充至表二行的步长值!
       End If
       Next


该杂文来自: Excel杂文

上一篇:老手都不曾多用的Excel导入(外部)互联网数据的绝

下一篇:达人总结的VBA精典的八类百条语句,版权归与作者上

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计