在Excel中使用VBA来筛选数据.....doc

上传人:scccc 文档编号:13039264 上传时间:2021-12-12 格式:DOC 页数:3 大小:37.50KB
返回 下载 相关 举报
在Excel中使用VBA来筛选数据.....doc_第1页
第1页 / 共3页
在Excel中使用VBA来筛选数据.....doc_第2页
第2页 / 共3页
在Excel中使用VBA来筛选数据.....doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《在Excel中使用VBA来筛选数据.....doc》由会员分享,可在线阅读,更多相关《在Excel中使用VBA来筛选数据.....doc(3页珍藏版)》请在三一文库上搜索。

1、录出来的是:Selectio n.AutoFilterSelection.AutoFilter Field:=1, Criteria1:="2005-8-12"回放就不行了改为:Selectio n.AutoFilterSelection.AutoFilter Field:=1, Criteria1:=#8/12/2005#有的可以执行,有的不可以执行,我都晕了 .有人遇见过这个问题吗?这属于工作簿间及其工作表间的VLOOKUP:要进行工作簿及工作表的引用工作簿1.xls,用vlookup调用工作簿2.xls的工作表Sheet1里的数据,工作簿1.xls和2.xls在同一文

2、件夹中。正确公式:=VLOOKUP(A2,' 2.xls Sheet1 '!A1:B10, 2,FALSE)回车后自动添加路径,假设在Win_XPz桌面上:=VLOOKUP(A2,桌面2.xlsSheet1'!A1:B10,2,FALSE在ExceI中使用VBA来筛选数据会员推荐2006-1-24 3转载注明:For i = 2 To 9999 Step 1a = Application.VLookup(Range("A" & i), Range("A1:Be)& (i - 1), 2, False)b = Applicat

3、i on .VLookup(Ra nge("A" & i), Ra nge("A" & (i + 1) & ":B1000"), 2, FalsIf IsError(a) And IsError(b) The nRa nge("G" & i).Value = 0End IfNext i!II!II End SubI;II 代码很短,但有一点复杂和讨厌,循环是从2到9999,因为为了防止VLOOKU函数的Range范围失效, 所以这两行需要手动处理。IsError函数来检测返回值,如果

4、两个返回值都是错误,则此行为单一的没有重 复的行,标志为0即可。程序执行速度和上面的差不多,至少你没有感觉出来差别。43 继续Hack到这里,你还是觉得不满意,使用数组,数据量太大会内存吃紧,使用VLOOKU函数,代码觉得很丑陋n et/maweife ng/admi n/EditPosts.aspx#_ft n4" name=_ft nref4>4。你不知道为什么想起来二分查找之类的东东,那么,查找前应该先排序,你在Excel里把数据排了序。现在的问题是需要循环2次,复杂度为N*N,如果,你想如果排好了序,只需要检查当前数值和下一个是否一样,如果一样,那么把当前和下 一个位置

5、标示出来,循环变量加2,跳过下一个,如果不一样,循环变量加1继续比较就可以了,代码如下:Sub SelectDouble4()Dim i As Long, Max As LongMax = 10000i = 1DoIf Ra nge("A" & i).Value = Ra nge("A" & (i + 1).Value The n</P< p>Ra nge(T & i).Value = 1Ra nge(T & (i + 1).Value = 1i = i + 2Elsei = i + 1End IfLoop While i < MaxEnd Sub这个程序复杂度只有N,执行速度当然是你今天写的所有程序里最快的,而且内存占用也最小。你觉得很满意,露出了贼贼的笑容。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1