- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VBA最最精典的教程(基础入门)课件
提高VBA运行效率 而下面代码程序比上面例子快得多: AverageValue=Application.WorksheetFunction.Average(Worksheets(1) .Range(〃A1:A1000〃)) 其它函数如Count, Counta, Countif, Match, Lookup等等, 都能代替相同功能的VBA程序代码,提高程序的运行速度。? 尤其在循环中每一个Excel对象的属性、方法的调用都需要通过OLE 接口的一个或多个调用,这些OLE调用都是需要时间的,减少使用 对象引用能加快VBA代码的运行。 方法2:尽量减少使用对象引用 * 提高VBA运行效率 例如?1.使用With语句。 Workbooks(1).Sheets(1).Range(〃A1:A1000〃).Font.Name=〃Pay〃 Workbooks(1).Sheets(1).Range(〃A1:A1000〃).Font.FontStyle=〃Bold〃? ... 则以下语句比上面的快 With?Workbooks(1).Sheets(1).Range(〃A1:A1000〃).Font .Name?=?〃Pay〃 .FontStyle?=?〃Bold〃 ... End?With * 提高VBA运行效率 2.使用对象变量。 如果你发现一个对象引用被多次使用,则你可以将此对象用Set?设置为 对象变量,以减少对对象的访问。如: Workbooks(1).Sheets(1).Range(〃A1〃).Value?=?100 Workbooks(1).Sheets(1).Range(〃A2〃).Value?=?200 则以下代码比上面的要快: Set?MySheet?=?Workbooks(1).Sheets(1) MySheet.Range(〃A1〃).Value?=?100 MySheet.Range(〃A2〃).Value?=?200 * 提高VBA运行效率 3.在循环中要尽量减少对象的访问。 For?k?=?1?To?1000 Sheets(〃Sheet1〃).Select Cells(k,1).Value?=?Cells(1,1).Value Next?k 则以下代码比上面的要快: Set?TheValue?=?Cells(1,1).Value Sheets(〃Sheet1〃).Select For?k?=?1?To?1000 Cells(k,1).Value?=?TheValue Next?k * 提高VBA运行效率 方法3:减少对象的激活和选择 如果你的通过录制宏来学习VBA的,则你的VBA程序里一定充满了对象的激活和选择,例如Workbooks(XXX).Activate,Sheets?(XXX).Select, Range(XXX).Select等,但事实上大多数情况下这些操作不是必需的。 例如: Sheets(〃Sheet3〃).Select Range(〃A1〃).Value?=?100 Range(〃A2〃).Value?=?200 可改为: With?Sheets(〃Sheet3〃) .Range(〃A1〃).Value?=?100 .Range(〃A2〃).Value?=?200 End?With * 提高VBA运行效率 方法4:关闭屏幕更新 如果你的VBA程序前面三条做得比较差,则关闭屏幕更新是提高VBA程序运行速度的最有效的方法,缩短运行时间2/3左右。 关闭屏幕更新的方法: Application.ScreenUpdate?=?False 请不要忘记VBA程序运行结束时再将该值设回来: Application.ScreenUpdate?=?True * 用过?Excel?97?里的加载宏?定时保存?吗?可惜它的源程序是加密的,现在就上传一篇介绍实现它的文档。?在?Office?里有个方法是?application.ontime,具体函数如下: expression.OnTime( EarliestTime,?Procedure,?LatestTime,?Schedule) 如?果想进一步了解,请参阅?Excel的帮助。? 这个函数是用来安排一个过程在将来的特定时间运行,(可为某个日期的指定时间,也可为指定的时间段之后)。通过这个函数我们就可以在?Excel?里编写自己的定时程序了。下面就举两个例子来说明它。? 1.在下午?17:00:00?的时候显示一个对话框。? Sub?Run_it() Application.OnTime?TimeValue(17:00:00),?Show_my_msg 设置定时器在?17:00:00?激活,激活后运行?Show_my_
您可能关注的文档
- n阶行列式的计算方法课件.doc
- Myers' PSYCHOLOGY (7th Ed)课件.ppt
- P2P理财和非法集资的区别课件.ppt
- P G的组织架构和营销职能分工推荐.ppt
- PAM-STAMP软件教程例子1:模面生成和快速成形分析课件.doc
- PAM-STAMP软件教程例子2:MONO-STAGE CALCULATION OF A BOX一个简单冲压过程的设置课件.doc
- PDCA循环在工厂管理中的应用试题及课件.doc课件.doc
- P2P网贷可行性研究报告推荐.doc
- McKinsey-如何进行团队内部及团队与客户之间的交流推荐.ppt
- PEP2012年新人教版三年级上册英语复习资料附期末测试卷教案.doc
文档评论(0)