Excel精英培训网

 找回密码
 注册

QQ登录

只需一步,快速开始

工作中常用的Excel函数公式,全印在一张超大鼠标垫上
查看: 460|回复: 11

[求助] 汇总太慢,请高手帮忙修改VBA,提高 汇总 效率

[复制链接]
发表于 2020-1-9 19:31 | 显示全部楼层 |阅读模式
汇总太慢,请高手帮忙修改VBA,提高 汇总 效率

汇总.rar

254.04 KB, 下载次数: 12

发表于 2020-1-10 01:17 | 显示全部楼层
你这个文件我测试过了,不管怎么做,第一个表“乡镇覆盖表”4个文件的数据合并起来的时间差不多都要30秒,如果你说有成百上千文件,确实很花时间。
因为只是单元格顺序对应合计,字典用不上的。数组我试过了,并不能节省时间,因为与单元格直接读取比较,读取的次数都是一次,时间是一样的。

回复

使用道具 举报

发表于 2020-1-10 08:29 | 显示全部楼层
没看懂题意

“判断待汇总区域单元格是否为数值”,如果不做不行,那是为什么
回复

使用道具 举报

 楼主| 发表于 2020-1-10 09:27 | 显示全部楼层
本帖最后由 weseeyou 于 2020-1-10 09:30 编辑
hfwufanhf2006 发表于 2020-1-10 01:17
你这个文件我测试过了,不管怎么做,第一个表“乡镇覆盖表”4个文件的数据合并起来的时间差不多都要30秒, ...

看来没辙了,汇总真太费时了。不知还有什么思路、办法较好!? 结合SQL不知会快些,有哪位高手能帮个忙?
回复

使用道具 举报

 楼主| 发表于 2020-1-10 09:32 | 显示全部楼层
爱疯 发表于 2020-1-10 08:29
没看懂题意

“判断待汇总区域单元格是否为数值”,如果不做不行,那是为什么

非数值型的单元格汇总时出错!
回复

使用道具 举报

发表于 2020-1-10 09:39 | 显示全部楼层
weseeyou 发表于 2020-1-10 09:32
非数值型的单元格汇总时出错!

QQ截图20200110093641.png
QQ截图20200110093653.png

3.rar (7.58 KB, 下载次数: 2)
回复

使用道具 举报

 楼主| 发表于 2020-1-10 09:51 | 显示全部楼层
爱疯 发表于 2020-1-10 09:39
Sub 按钮1_Click()
    With Range("d5:e6")
        .ClearFormats

谢谢版主!现在主要是想解决  汇总太费时、太慢的问题。
回复

使用道具 举报

发表于 2020-1-10 10:12 | 显示全部楼层
QQ截图20200110100535.png


原因:(红框里的)操作是一个个读写单元格
解决:先将该区域的格式转换或清除,然后不判断直接汇总


因为没看明白要汇总什么,汇总结果放在哪儿,和其它需求,所以无法回复

回复

使用道具 举报

 楼主| 发表于 2020-1-10 10:33 | 显示全部楼层
爱疯 发表于 2020-1-10 10:12
原因:(红框里的)操作是一个个读写单元格
解决:先将该区域的格式转换或清除,然后不判断直接汇总 ...

汇总功能: 是指在“汇总.xls”的工作表中指定要汇总数据的单元格(即拖黑单元格),然后汇总各个工作簿中相同工作表对应单元格的数据到“汇总.xls”的相应工作表中。另版主提出的逐个判断非数值确实存在慢的问题!
回复

使用道具 举报

发表于 2020-1-10 10:41 | 显示全部楼层
weseeyou 发表于 2020-1-10 09:27
看来没辙了,汇总真太费时了。不知还有什么思路、办法较好!? 结合SQL不知会快些,有哪位高手能帮个忙?

你这类文件汇总比较慢的原因我觉得有两点:
1、是格式报表:
     不像一般性的汇总,只需要把汇总结果排序写入汇总表即可,你这个需要按照固定的顺序对应写入,所以SQL也不好操作,字典也用不上;
2、数据是分文件存储的:
     SQL需要把所有的数据集中在一起才能大幅度提高效率。分文件存储需要频繁打开和关闭文件,数据需要逐个缓存,效率不高。
     SQL也不适合处理格式报表,SQL的处理过程跟数据透视表比较像。


回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2020-8-14 04:21 , Processed in 0.078000 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表