写VBA代码的策略之二
【分享成果,随喜正能量】你跟多少人作对,就是跟自己本该拥有的多少快乐作对。有的快乐是自生的。有的快乐,是与他人和谐相处中获得的。结怨,会疼;周旋,会累。有时候,退一步,妥协一点,甚至投降一次,都不算什么,但你会一下子找到轻松快乐的自己。。
我给VBA下的定义:VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率,而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。
作为我的学员要利用我的积木编程思想,积木编程最重要的是积木如何搭建及拥有积木。在九套教程中我给出了大量的积木,同时讲解了如何搭建。为了让学员拥有更多的积木,我开始着手这部《VBA即用型代码手册(汉英)》的创作,这部手册约600页,集合约500多个的案例,案例我用汉语和英语同时发布,一方面学员从中可以更好的领会和掌握VBA中用到的一些英语知识,另一方面,大家可以看到各种各样的积木。这部手册是大家学习和工作中的不可多得的实用资料。今日的内容是:写VBA代码的策略之二
序言 VBA代码的优化技术和策略
Preface VBA code optimization technology and strategy
VBA 是否减慢了工作簿的速度?我们讨论一下Excel VBA和宏的优化技术。
Is VBA slowing down your workbooks? lets talk about optimization techniques for Excel VBA & Macros.
6 写代码的策略Optimization Techniques for Long run
优化是永无止境的过程。因此,一个好的程序员不断学习技术并遵循合理的原则,以保持她的代码轻量级和快速。
Optimization is never ending process. So a good coder constantly learns techniques & follows sound principles to keep her code light-weight & fast.
6.3 越少越好Less is better
您拥有的代码越少,您使用的内存就越少;您处理的对象、变量越少,您的代码就越快。作为练习,采用最复杂的宏,看看是否可以删除一行。重复此操作,直到没有其他可以删除的内容。仅此一点就可以提高性能。需要考虑:
1)在编写代码之前对其进行规划。仔细考虑所有步骤。
2)不要为蹩脚的用户编写代码(除非你正在开发一些东西来卖给更大的公众)。工作场所的大多数用户都是聪明和理性的。因此,您可以减少错误处理等。
3)释放您不再希望清除内存的对象。
4)与用户协商并尽可能减少功能。
The less code you have, the lesser memory you use, the lesser objects, variables you deal with, the faster your code becomes. As an exercise, take your most complex macro and see if you can delete a line. Repeat this until there is nothing else you can remove. That alone improves the performance. Some ideas to consider:
1)Plan your code before you write it. Think thru all steps.
2)Do not write code for lame users (unless you are developing something to sell to larger public). Most users in workplace are smart and reasonable. So you can lessen error handling etc.
3)Release objects you no longer want to clear memory.
4)Negotiate with users and reduce features if possible.
6.4 学习与实践Learn and Practice
Merriam-Webster将“优化”定义为:使完美。学习和实践是通往完美的成熟之路。你可以通过检查别人的代码、读书或帮助别人来学习。很快,你会看到你自己的代码变得更好、更快。
Merriam-Webster dictionary defines “optimize” as,to make perfect … more Learning & practicing is a proven path to perfection. You can learn by examining others code, reading books or helping others. Very soon, you see that your own code becomes better & faster.
【分享成果,随喜正能量】我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】当你的压力大到快要崩溃时,不要和别人去讲,也不要觉得自己委屈,要像余华说的那样,在夜深人静的时候,把心掏出来,自己缝缝补补,然后睡一觉,醒来又是信心百倍。。