网站大量收购独家精品文档,联系QQ:2885784924

VBA最最精典的教程(基础入门)课件.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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_

文档评论(0)

allap + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档