加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VBA代码提速方法:解决EXCEL VBA运行速度慢的问题

(2012-12-02 10:23:18)
标签:

杂谈

VBA代码提速方法:解决EXCEL VBA运行速度慢的问题

 

http://semface.com/excel/929

 

  
-

相信大家在运行Excel VBA的时候都遇到过代码运行速度慢的问题,这一方面是由于VBA是基于Excel对象的语言,很多操作都是面向Excel的操作,而非在数组中进行,另一方面在写程序时技巧不足,导致VBA代码运行效率低。下面介绍几个可以提高EXCEL VBA代码运行速度的方法:

1. 在VBA过程程序的首尾分别加下面两句话

application.ScreenUpdating=False ‘加在程序开始

application.ScreenUpdating=true ‘加在程序结束

这两句话的意思分别是关闭屏幕刷新和打开屏幕刷新,是最快最有效提升Excel VBA代码运行速度的方法。

2. 减少循环,增加判断

代码并非越长运行速度越慢,有些代码看似简单,但多层循环嵌套华而不实,运行起来速度非常慢。所以建议尽量减少循环,尤其是嵌套循环。

3. 让电脑判断数值

电脑在判断数值的时候总是快于直接的字符,比如你要判断一个单元格A<>”",可以改为len(单元格A)<>0即可。

4. 尽量用vba语言

刚开始写VBA代码时,大家会习惯使用EXCEL中的函数,worksheetfunction什么什么的,使用起来简短熟悉,但普遍来讲,VBA对这种调用的效率偏低,所以建议使用VBA自己语言,当程序运行量很大时效果非常明显。

5. 减少数组redim次数

在内存无忧的情况下,可以使用固定数组定义方法。

6. 终极建议

就一句话:一切处理过程都放在数组中进行。

好了,以上是我对于提升EXCEL VBA运行效率的一点经验分享,大家可以尝试哈。代码不怕长,参数不怕多,主要是循环要少,最后记得考虑自己的内存空间。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有