如何提高excel表格计算速度?30M的文件,有很多公式,也用了大量的VBA,在硬件方面要如何改善?

原来电脑内存2G,内存扩展到4G有效果吗?用固态硬盘会更快吗?还是直接更换更好的CPU?
文件是别人用的,修改代码、更换软件等不考虑,主要是硬件。谢谢

提升CPU和内存会有明显的效果,固态硬盘应该用处不是太大。
毕竟只有30MB的文件,硬盘读写上不会有什么压力。

其实2G的内存用excel已经差不多了,楼主也可以考虑从软件上下下功夫。改进一下excel文件的结构。
比如把大量的数据做到数据库里,最简单就是做一个Access数据库,在excel做一个连接每次使用的时候只拿一部分数据出来,就会大大节省运算量。
还有就是修改一下vba的代码,excel的单元格里公式太多的时候,会经常触发重新计算,从而使整个表格的速度变慢。
可以在你的代码中有大量计算的地方适当加入
Application.Calculation = xlCalculationManual来暂时停止公式的自动重算
然后在代码运行完毕后
Application.Calculation = xlCalculationAutomatic恢复公式自动计算
或者用下面这个来暂停和恢复单元格的更新
Application.ScreenUpdating = False
Application.ScreenUpdating = True
这样可以加快不少速度。

再有一个建议,如果这个30M的“巨大”excel是经常要用到的话,可以考虑用其他平台来做,比如Java,VB,C++可以大大提升工作效率。因为excel毕竟不是为了运行大型程序的,它不支持多任务处理,而且你也看到了,它在内存的使用上也有很大弊端。

希望能帮到你
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-15
换CPU吧,我也遇到过同样的问题,解决速度问题主要是两个方面,一方面是硬件,用更高效的CPU,速度会太高很多,另一方面是要优化代码,尽量少调用“.”,少用循环,关闭屏幕刷新,关闭自动重算等等,这些也是很有效的。
如果你的计算时间很长,尽量避免假死机的状况,我个人的小意见还是推荐你将计算拆分步骤来做!
希望能帮到你!本回答被提问者采纳
第2个回答  2012-02-15
关掉自动计算,vba的功能尽量用公式实现,这样会快点,硬件主要是cpu,当然cpu换的话很多东西都要跟着换。
第3个回答  2012-02-15
换CPU吧.

如果你禁用虚拟内存的话,这个速度与硬盘关系不大.
相似回答