问题需求
来自公号粉丝,有1000多条数据,如下图,需要按照客户名称拆分成单独的工作簿(workbook),代码别人已经写好了,但是一运行发现,需要运行的时间太长了(足足有6分来钟)。Ta咨询我能否有方法可以提高效率?
解决办法
大致看了下源代码,几十行,如下图,瞬间就感觉这个case有点大,一行行看、改代码可能会比较费时。
当然,通过优化算法,肯定会有方法修改其中的代码,提升运算效率。但是这个过程会比较枯燥、费时。
其实完全可以试试加入下面的这两条代码:
Application.ScreenUpdating = False(程序开始)
Application.ScreenUpdating = True(程序结束)
这两条代码用处是不显示代码的运行过程,只显示最终的结果。说的简单一些,就是只看结果,具体过程计算机后台处理即可。
两行代码分别是用在程序开始和结束的时候,看看结果:
以上面这个为例,永恒君缩减为100行,未加入代码的运行时间为:14.8s
加入之后为:9.8s
缩短了约30%多的时间。
实际上,这两行代码在任何一个vba程序中都可以使用,尤其是数据量比较大的时候,效果会更加的明显。
你可能还会想看这些往期精彩:
闹图慌?百度谷歌图都用烂大街了?尝试一下这些无版权高质量图片网站吧!
微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com
转载请注明:永恒君的百宝箱 » 两句代码快速提高VBA运行效率