打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel中的VBA代码你可以写出来,可是你真的会优化代码吗?

   我们很多时候在用Excel VBA去实现某一个功能的时候,也许会用到很多行的代码去实现我们最终要的结果。

    可是有时候你殊不知,有些代码是经过录制宏产生的,或者语句繁琐,变量不正确从而造成你所写的程序运行的时间非常久,或者造成计算机的CPU使用率达到100%,严重可导致系统崩溃发生。

但是这样的结果显而易见,并不是我们想要的结果。

我们想要的是一个可靠的,高效率的,简化操作的,提高劳工效率,减少错误率的,适应性强的程序。

所以我们不得不寻求更好的方法去改善,去优化代码,以寻求高效率完成我们的工作。

下面我们重点和大家分享一下,怎么去优化我们的代码:

1.关闭屏幕刷新,速度可以提升30%的速度。所以大家在写完代码的时候,不妨在我们程序最开始加上这句话,当然在程序执行完之前,也就是最后一句话的时候,你要记得将屏幕刷新打开。

Sub test()

Application.DisplayAlerts = False

Cells(1, 1) = 1

Application.DisplayAlerts = True

End Sub

2. 使用工作表函数,这句话的意思就是说我们某些时候,可以优先考虑Excel自带的函数去实现这个,而不是我们自己去写代码。当然效果都是一样的,但是时间可能就不是一样。

Sub ShtFunctions()

a.使用循环进行数据累加计算

For i = 1 To 40000

MySum = MySum Cells(i, 1)

Next

b.直接使用工作表进行求和

Cells(1, 1) = Application.Sum(Range('A1:A40000'))

End Sub

3. 使用With-End With语句,减少引用对象的寻找速度,提高程序的效率。当然这样还有一个优点,就是我们要改变引用对象的时候,只需改变一个位置即可,这样也便于后期的维护和修改。

Sub test()

With Range('E5').Font

.Color = -16776961

.Font.Bold = True

.Name = '宋体'

.Size = 9

.Name = 'Arial Unicode MS'

.Size = 9

End With

End Sub

4.数据类型的正确选用,这个也是非常关键的。这个就好像你去打水喝,正确的应该是拿杯子过去,但是你拿着一个很大的桶去接水喝,当然都可以完成喝水这个动作,但是明显就可以看出拿桶的那个人选择就有问题。

其实在我的Excel中处理数据的能力也是不一样的,处理速度最快的是long>integer>byte>Single>Double>Currency。

需要注意的是,如果我们不定义变量,那么系统默认为Variant类型,当我定义合适,速度就会有提升,所以每次我们千万记得要选择最合适自己的啦!

5.使用数组,数组和字典是VBA的核心功能,所有在可以使用数组的时候,千万记得使用数组。在某些时候,在使用数组和不使用数组对比下,速度可能相差100倍。

尽量减少变量的使用,增加数组和字典的配套使用。

还有就是多使用动态的数据,少使用静态的数据,数组的Redim和Preserve要常记得。

6.多清除对象的缓存,比如 Set d = Nothing,这句话的意思就是卸除对象的引用。这样也可以稍微加快一点执行的速度。

另外我们可以通过减少循环的次数,减少类模块的使用,减少模块的使用,减少我们语句中的激活的次数,或者寻找更优质效率更高的代码。

以上就是自己在学习VBA的时候,自己的一点点优化代码的一点点方法,可能还有其他的更好的优化只能慢慢去了解去学习,慢慢积累。

虽然Excel VBA并不万能的,但是能帮助我们提高工作效率,就已经足够让你我欣慰。与君共勉之!

PS:学习的苦难需要我们主动面对,生活的苦难你躺着它自己主动就过来啦!与君共勉!!!

以上就是今天要和大家分享的技巧,希望对大家有所帮助,祝各位一天好心情!

唯有不断学习,才能不被淘汰!

Excel中每一个方法都有特定的用途,不是他们没有用处,只是你不了解或者暂时用不着,建议你收藏起来,万一哪天用着呢?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
完全手册Excel VBA典型实例大全:通过368个例子掌握
利用Open方法将txt数据批量导入Excel中 | VBA实例教程
Excel Excel VBA 数组排序
自定义函数,系统函数,数组,字典,事件(VBA)(下)
自学资料(Excel VBA)[收集整理15]
excel vba常见问题解答
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服