- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 一、提高VBA執行效率 方法(1)儘量實用VBA原有的屬性 、方法和worksheet函數 例如: For?Each?c?In Worksheet(1).Range(〃A1:A1000〃) TotalValue?=?TotalValue?+?c.Value Next AverageValue?=?TotalValue?/?Worksheet(1).Range (〃A1:A1000〃).Rows.Count 而下面代碼程式比上面例子快得多: AverageValue=Application.WorksheetFunction.Average(Worksheets(1) .Range(〃A1:A1000〃)) 其它函數如Count, Counta, Countif, Match, Lookup等等,都能代替相同功能的VBA程式碼,提高程式的運行速度。 * 方法(2)儘量減少實用對象的引用,尤其在循環中 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 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 * 3.在迴圈中要儘量減少對象的訪問。 For?k?=?1?To?1000 Sheets(〃Sheet1〃).Select Cells(k,1).Value?=?Cells(1,1).Value Next?k 方法(3)減少對象的啟動和選擇 如果你的通過錄製巨集來學習VBA的,則你的VBA程式裡一定充滿了物件的啟動和選擇,例如Workbooks(XXX).Activate,Sheets?(XXX).Select, Range(XXX).Select等,但事實上大多數情況下這些操作不是必需的。 則以下代碼比上面的要快: Set?TheValue?=?Cells(1,1).Value Sheets(〃Sheet1〃).Select For?k?=?1?To?1000 Cells(k,1).Value?=?TheValue Next?k 例如: Sheets(〃Sheet3〃).Select Range(〃A1〃).Value?=?100 Range(〃A2〃).Value?=?200 可改為: With?Sheets(〃Sheet3〃) .Range(〃A1〃).Value?=?100 .Range(〃A2〃).Value?=?200 End?With * 方法(4)關閉螢幕更新 Application.ScreenUpdating = False Application.ScreenUpdating = true 如果你的VBA程式前面三條做得比較差,則關閉螢幕更新是提高VBA程式運行速度的最有效的方法,縮短執行時間2/3左右。 方法(5)添加公式時,關閉自動計算 Application.Calculation = xlCalculationManual Application.Calculation = xlCalculationAutomatic * 二,在ADO自連自的時候,excel系統經常會出現一些毛病,其中最大的就是對內存的佔用,數據量大的時候,經常會出現記憶體已滿,系統資源不足等提示。在搜索了很多網上論壇後,這裡我們給出
您可能关注的文档
- SMT各站别生产注意事项.ppt
- SR200旋挖钻机液压系统.ppt
- SOLO分类评价法.ppt
- STM32机器人.doc
- STM32单片机的MODBUS通讯器毕业论文.doc
- s100a型施工升降机安装方案ss100a型施工升降机安装方案.doc
- SY4200-2007系列规范检验批表格1.doc
- SunnyGreen6类解决方案.doc
- Sybase企业数据库ASE15技术白皮书.doc
- SYB2(全).ppt
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)