- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VBA代码编写技巧1538.pptx
方法1:尽量使用VBA原有的属性、方法和Worksheet函数由于Excel对象多达百多个,对象的属性、方法、事件多不胜数,对于初学者来说可;能对它们不全部了解,这就产生了编程者经常编写与Excel对象的属性、方法相同功能的VBA代码段,而这些代码段的运行效率显然与Excel对象的;属性、方法完成任务的速度相差甚大。例如用Range的属性CurrentRegion来返回 Range 对象,该对象代表当前区。(当前区指以任;意空白行及空白列的组合为边界的区域)。同样功能的VBA代码需数十行。因此编程前应尽可能多地了解Excel对象的属性、方法。充分利用Works;heet函数是提高程序运行速度的极度有效的方法。如求平均工资的例子:For Each c In Worksheet(1).Range(′A1;:A1000′)Totalvalue=Totalvalue + c.valueNextAveragevalue=Totalvalue / W;orksheet(1).Range(′A1:A1000′).Rows.Count而下面代码程序比上面例子快得多:Averagevalue=A;pplication.WorksheetFunction.Average(Worksheets(1).Range(′A1:A1000′))其;它函数如Count,Counta,Countif,Match,Lookup等等,都能代替相同功能的VBA程序代码,提高程序的运行速度。方法2;:尽量减少使用对象引用,尤其在循环中每一个Excel对象的属性、方法的调用都需要通过OLE接口的一个或多个调用,这些OLE调用都是需要时间的;,减少使用对象引用能加快VBA代码的运行。例如 1.使用With语句。Workbooks(1).Sheets(1).Range(′A1:A1;000′).Font.Name=′Pay′Workbooks(1).Sheets(1).Range(′A1:A1000′).Font.Fon;tStyle=′Bold′ ...则以下语句比上面的快With Workbooks(1).Sheets(1).Range(′A1:A1000;′).FontName=′Pay′.FontStyle=′Bold′ ...End With2.使用对象变量如果你发现一个对象引用被多次使用;,则你可以将此对象用Set 设置为对象变量,以减少对对象的访问。如:Workbooks(1).Sheets(1).Range(′A1′).v;alue=100Workbooks(1).Sheets(1).Range(′A2′).value=200则以下代码比上面的要快:Set My;Sheet=Workbooks(1).Sheets(1)MySheet.Range(′A1′).value=100MySheet.Range;(′A2′).value=2003.在循环中要尽量减少对象的访问。For k=1 To 1000Sheets(′Sheet1′).Selec;tCells(k,1).value=Cells(1,1).valueNext k则以下代码比上面的要快:Set Thevalue=Cells;(1,1).valueSheets(′Sheet1′).SelectFor k=1 To 1000Cells(k,1).value=Thev;alueNext k方法3:减少对象的激活和选择如果你的通过录制宏来学习VBA的,则你的VBA程序里一定充满了对象的激活和选择,例如Work;books(XXX).Activate、Sheets(XXX).Select、Range(XXX).Select等,但事实上大多数情况下这些;操作不是必需的。例如Sheets(′Sheet3′).SelectRange(′A1′).value=100Range(′A2′).valu;e=200可改为:With Sheets(′Sheet3′).Range(′A1′).value=100.Range(′A2′).value;=200End With方法4:关闭屏幕更新如果你的VBA程序前面三条做得比较差,则关闭屏幕更新是提高VBA程序运行速度的最有效的方法,缩短;运行时间2/3左右。关闭屏幕更新的方法:Application.Screenupdat=False请不要忘记VBA程序运行结束时再将该值设回;来:Application.Screenupdat=True;医药网 /
您可能关注的文档
- C单元-细胞的代谢1483.doc
- C语言入门代码(大学实验报告1)1484.docx
- C语言入门代码(大学实验报告2)1485.docx
- EasyPoi培训1487.pptx
- Excel常见公式错误代码“#VALUE”1491.pptx
- FLASH代码初级教程1492.doc
- GET试题2014061497.pdf
- H7N9题库1500.doc
- HPV检测目的及最佳检测方法1501.pptx
- Idea简单入门操作1503.docx
- 2024版子女抚养权保护与监护责任分担协议书.docx
- 2024版国有资产股权置换与资产重组协议书.docx
- 2024版国际贸易法律咨询服务全球独家代理合同.docx
- 2024年男方出轨离婚协议:赔偿、分割与子女抚养规定.docx
- 2024年棉花产业扶贫项目合作合同.docx
- 2024年版体育赛事运营名义合伙人合作协议.docx
- 2024年必威体育精装版版湖南离婚协议书范本:婚姻解除协议书(财产分割、子女抚养权)-@-2.docx
- 2024年新型财产分配离婚合同协议.docx
- 2024年度龚蝶与配偶共同子女抚养权协议书.docx
- 2024年湖南离婚协议书必威体育精装版范本:婚姻解除协议书(财产分割、子女抚养权)-@-3.docx
文档评论(0)