vba 提高Excel中VBA的运行效率

发布时间 2023-05-22 18:01:36作者: 绮丽梦境

一、尽量使用VBA原有的属性、方法和Worksheet函数

set xx=Nothing 

二、尽量减少使用对象引用

set xx=Nothing 

每一个 Excel 对象的属性、方法的调用都需要通过 OLE 接口的一个或多个调用,这些 OLE调用都是需要时间的,减少使用对象引用能加快VBA代码的运行

使用With……End With语句,尽量减少对象引用

三、减少对象的激活和选择

set xx=Nothing 

如果你的通过录制宏来学习VBA的,则你的VBA程序里一定充满了对象的激活和选择,例如Workbooks(XXX).Activate、Sheets(XXX).Select、Range(XXX).Select 等,但事实上大多数情况下这些操作不是必需的。删除这些代码可加快vba运行速度

四、关闭屏幕更新

vba代码复杂时,关闭屏幕更新是提高VBA程序运行速度的最有效的方法,缩短运行时间2/3左右。

set xx=Nothing 

 关闭屏幕更新,则执行宏时不会实时看到excel内数据的变化

关闭屏幕更新的方法:

Application.ScreenUpdate = False  ‘在过程的最开始写入该代码

请不要忘记VBA程序运行结束时再将该值设回来:

Application.ScreenUpdate = True  '在过程的末尾写入该代码

 

五、退出程序前销毁程序中使用的对象

set xx=Nothing 

六、For each循环比For Next循环快