VBA加快代码运行效率

由于VBA运行在Excel中,受VB语言和Excel的限制,遇到稍大的计算量,Excel可能出现假死现象,运行时间也比较长,所以在编写好代码后,可以对代码进行一定的优化,提高VBA的运行效率。

网上有很多关于提高VBA代码运行效率的方法,我从中总结了以下14条,我自己使用过程中感觉效果比较好。

  1. 声明变量
    变量声明为非Variant,避免使用浮点型变量。
     
  2. Range("A1")  比  [A1]  更快
    因为  [A1]  需要调用Application.Evaludate("A1")。
     
  3. 禁止屏幕刷新、计算模式手动
    Application.ScreenUpdating = False  ' 开启屏幕刷新
    Application.ScreenUpdating = True  ' 关闭屏幕刷新
    
    Application.Calculation = xlCalculationManual  ' 计算模式为手动
    Application.Calculation = xlCalculationAutomatic  ' 计算模式为自动

    需要注意的是在sub结束的时候,要将计算模式改回为自动,这样表格中才能自动进行公式计算等。

  4. 使用工作表(Worksheet)的数字编号比引用“名称”更快
    直接使用 sheet(1) 比 引用工作表的名字更快,但是不安全,需要注意sheet的实际编号,以及新建、删除工作表等操作,引起sheet的编号变化。

  5. 常量比变量更快

  6. For each  比  For 更快

  7. 尽量不用Selection
    代码中有 
    ***.select  /  selection  组合的,都尽量直接引用对象

  8. 对同一目标进行多次操作时,尽量用  With...End With

  9. 内置函数比自己写的函数快,即尽量不重复造轮子

  10. 明确对象属性
    引用  Cell(1,1).value  比  Cell(1,1)  

  11. 多用简单句,少用复合句
    If A And B Then ... End If  比两个If语句慢

  12. 并列条件Elseif 比Select快
    所以遇到多重条件判断时,把最常出现的条件放在前面,减少选择次数

  13. For 比 Do While快

  14. 使用内存数组变量
    Range("A1:F65536") = arr
     

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wujinglin7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值