- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
I12ExcelVBA学习总结代码优化之道
Excel VBA 学习总结 - 代码优化之道 每个问题都可以用不同的解决方案解决,不同的方案执行的效率却是不同的。同样一个问题,不同的程序执行的时间可能相差数十,甚至数百倍。所以学习一门语言,必须要了解其优化方法。下面从几个方面总结一下VBA中的代码优化之道。一、运行环境的优化 VBA是需要运行在运行环境中的,运行环境直接影响了VBA程序的执行效率,所以第一个方面,我们从干扰程序执行的因素,讨论运行环境的优化。 若要提高VBA程序的性能,明确禁用代码执行时不需要的功能是极其有效的优化方法。通常,只需在代码运行后重新计算或重绘一次,这样做可以提高性能。代码执行后,将功能恢复到其原始状态即可。1.关闭屏幕更新 关闭屏幕更新是提高VBA程序运行速度的很有效的方法,能大幅缩短运行时间。原因很简单,后台的操作不需要反映到屏幕上了,当然就省去了很多的操作,所以可以节省很多时间。当然了,这个操作是可以控制粒度的,比如每次VBA程序的开始于结束可以设置屏幕更新,也可以在每个循环的开始与结束时设置,这个通常取决于用户的需要。关闭屏幕更新的方法:Application.ScreenUpdate?=?False程序执行过程...请不要忘记VBA程序运行结束时再将该值设回来Application.ScreenUpdate?=?True?2.关闭自动计算 函数的自动计算对Excel运行影响很大,尤其是有大量数组函数和易失性函数时,影响更为明显。这个方面优化的最简单的方法就是关闭自动重算,启用手动重算。通过减少重算量提高Excel速度。可以在进入主程序运行前,将计算模式设置为手动。Calculation 属性是对所有工作簿进行的设置,您也可以用工作表的EnableCalculation属性来设置对某个工作表是否进行重新计算。设为手动计算Application.Calculation?=?xlCalculationManual程序执行过程...恢复为自动计算Application.Calculation?=?xlCalculationAutomatic3.禁用事件 禁用事件可以避免事件触发时的连锁反应。例如在工作表的Change事件中,一个单元格的值改变影响两个以上的单元格值改变,因为事件的连续触发可以造成CPU耗尽。可以在Change事件中禁用事件Application.EnableEvents?=?False程序执行过程...请不要忘记VBA程序运行结束时再将该值恢复Application.EnableEvents?=?True?4.禁用状态栏 状态栏设置与屏幕更新设置是分开的,这样即使屏幕不更新,您仍可以显示当前操作的状态。但是,如果您不需要显示每个操作的状态,则在代码运行时禁用状态栏也可以提高性能。不显示状态栏Application.DisplayStatusBar=False,程序执行过程...恢复显示状态栏Application.DisplayStatusBar=False,5.禁用分页符 如果 ActiveSheet.DisplayPageBreaks 设置为False,则 Excel 不显示分页符。代码运行时不需要重新计算分页符,在代码执行后计算分页符可以提高性能。6.避免在频繁的事件中写代码 这个道理很简单,例如频繁的Activate事件。二、算法的优化 算法代表解决问题的步骤,它直接影响了程序的执行效率,所以算法优化基本是所有语言优化代码最主要的过程;这是一个不断试验,不断总结,不断优化的过程。这个不是这里的重点,所以只是简单分享一下我知道的方式。深刻挖掘和应用数学模型的特性基本上都是缩小问题的规模,递推总结出数学模型的规律,然后用程序实现就可以了。例如下面的经典问题:上台阶问题:/flowerszhong/archive/2011/09/14/2176374.html。如果空间允许的话,可以拿空间换时间常见空间换时间算法:/post-227818.html保存可以利用的中间结果动态规划中用的最多了:/~ztliu/wordpress/2011/04/algo-dynamic-programming/采用合适的排序算法海量数据查找:/lanphaday/article/details/3547776常见排序算法:/ctang/article/details/37914经常查询的集合数据,先排序通常对于不怎么变化,但是又经常查询的数据,先排序是非常合算的,下面这个介绍了最快排序与最快搜索:/shendl/article/details/4053853三、实现方式的优化 算法确定以后,就是使用具体的代码实现算法,而对于同样的算法,使用不同的函数去完成,也会有不小的差异,这方面其实基本都是从减少内存使用量,加速编译器的执行的速度这两个方面优
您可能关注的文档
最近下载
- (2024秋新版)人教版七年级数学上册全册PPT课件.pptx
- dixell帝思 xc15cx-xc35cx 调试维修参数设置资料.pdf
- transcad交通需求模型手册_chapter12公交分配.pdf VIP
- 高校后勤餐饮经营发展探究——以浙江树人大学为例.pdf VIP
- 幼儿园教室环创培训.pptx VIP
- 2023辽宁沈阳市铁西区面向全区招聘社区残疾人工作专职干事8人考试备考题库及答案解析.docx VIP
- 2025年安徽省池州市辅警协警笔试笔试预测试题(附答案).docx VIP
- 《追求理解的教学设计》读书心得.docx VIP
- 糖皮质激素诱导骨质疏松诊治专家共识.pptx VIP
- 2025内蒙古巴彦淖尔市能源(集团)有限公司第二批招聘55人笔试模拟试题及答案解析.docx VIP
文档评论(0)