两句代码快速提高VBA运行效率
2019-12-02 本文已影响0人
永恒君的百宝箱
问题需求
来自公号粉丝,有1000多条数据,如下图,需要按照客户名称拆分成单独的工作簿(workbook),代码别人已经写好了,但是一运行发现,需要运行的时间太长了(足足有6分来钟)。Ta咨询我能否有方法可以提高效率?
解决办法
大致看了下源代码,几十行,如下图,瞬间就感觉这个case有点大,一行行看、改代码可能会比较费时。
当然,通过优化算法,肯定会有方法修改其中的代码,提升运算效率。但是这个过程会比较枯燥、费时。
其实完全可以试试加入下面的这两条代码:
Application.ScreenUpdating = False(程序开始)
Application.ScreenUpdating = True(程序结束)
这两条代码用处是不显示代码的运行过程,只显示最终的结果。说的简单一些,就是只看结果,具体过程计算机后台处理即可。
两行代码分别是用在程序开始和结束的时候,看看结果:
以上面这个为例,永恒君缩减为100行,未加入代码的运行时间为:14.8s
加入之后为:9.8s
缩短了约30%多的时间。
实际上,这两行代码在任何一个vba程序中都可以使用,尤其是数据量比较大的时候,效果会更加的明显。
你可能还会想看这些往期精彩:
一款实用的图片查重工具
三个有趣实用的工具,你一定会想试试!
五款在线图片处理工具,告别图片荒,图片难
闹图慌?百度谷歌图都用烂大街了?尝试一下这些无版权高质量图片网站吧!
如何查看图片是否PS过?
如何神不知鬼不觉地把图片藏到学习资料里
教你用word一键自动去除图片背景
实用技巧:教你如何分页多张A4纸打印长图片?