没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
很多 文章和图书都介绍过如何优化 代码,使代码运行得更快。
下面搜集了一些使 代码运行更快的技术和技巧,基本上都是实践经
验的总结。如果您还有其它优化 代码的方法,可以在本文后留言或
给出链接,与大家分享。
对于应用程序属性,在代码运行时关闭除必需属性以外的其它所有属性
在代码运行时关闭不需要的 功能。其原因是,如果通过 更新不同的
单元格区域,或者从不同的单元格区域复制粘贴来创建汇总表,则不希望
浪费时间和资源来重新计算公式、显示粘贴进度或者重绘网格,尤其在
每次单独的操作后(更有甚者,如果代码使用了循环,则每次单独操作后
都会在后台运行这些功能)。只需要在代码执行结束时进行一次重新计
算和重绘就足以使工作簿更新。
下面的代码将帮助您提高代码的执行速度。
()放置在主代码前的一段代码,获取 当前的属性状态,然后将其关
闭
获得当前的 设置状态将其放置在代码的开头
!
"# $"#注%这是工
作表级的设置
关闭一些 功能使代码运行更快
&
&
'
! &
$"#&注%这是工作表级的设置
(()放置在主代码结束后的一段代码,用来将 恢复到代码运行前的设
置
代码运行后恢复 原来的状态)将下面的代码放在代码的末尾
!
$"#"#注%这是工
作表级的设置
下面简要解释这些设置:
:将该属性设置为 &,告诉 不要重
绘屏幕。其优点是不需要 花费资源来绘制屏幕,因而其改变会更快而不
致让用户察觉其变化。因为如此频繁地绘制屏幕需要大量的资源,所以关闭绘
制屏幕直到代码执行结束。在代码结束前,确保重新开启了该属性。
:将该属性设置为 &,告诉 停止显
示状态栏。例如,如果使用 复制粘贴单元格,当粘贴执行时 将在
状态栏中显示操作的进度。关闭屏幕更新不会关闭状态栏显示,因此,如果需
要的话,可以禁用屏幕更新而仍然可以通过状态栏给用户提供反馈。记住,如
果将该属性设置为 &,在代码结束前应该将其设置为 *。
:该属性允许编程设置 的计算模式。“手工的”
(')模式意味着 等待用户(或代码)来触发计算;
默认为“自动的”(+)模式,意味着由 来决定何
时重新计算工作簿(例如,当在工作表中输入新公式时)。由于重新计算工作
簿将花费时间且浪费资源,因此可能不希望每次改变单元格值时 都触发
重新计算。当代码执行时关闭重新计算,在代码结束前再设置回重新计算模式。
! :将该属性设置为 &,告诉 不要触发事
件。你可能不希望 为每个正在通过代码发生改变的单元格触发事件,关
闭事件将加速 代码的执行。
$"#:当在较新版本的 中运行 时,
则可能比在早期版本的 中需要更长的时间完成。例如,需要几秒钟在早
期版本的 中完成的宏可能需要几分钟才能在更高版本的 中完成。
或者,第二次运行一个宏可能比第一次运行需要的时间更长。这是由于 宏
修改了多行或列的属性,或者必须强制执行计算 分页符。如果宏设置了
任何 " 属性或者手动设置了 " 属性,接着运行较大区域的
行或列属性设置时会出现这样的问题。您可以将该属性设置为 & 来提高代
码的运行速度。当然,在代码运行结束前,应将该属性恢复为原设置。
在单个操作中读/写大块的单元格区域
本技巧用于优化在 和代码之间转换数据的次数。使用数组变量存储所需
要的值并执行取值或赋值操作,而不是一次遍历单个单元格并获取或设置单个
值。
例如,下面的代码在单元格区域 :,,,, 中放置随机数。
代码段一:运行速度较慢的代码
!-./
+00
+1-2
+11
+'!
00.3%,,,,3/
&1-*,,,,
&1*4
'0.1-1/从 单元格中读取值 4,5 次
16'7,*$
''8'改变值
0.1-1/'将值写入 单元格中 4,,,, 次
16
91
91-
!
代码段二:运行速度更快的代码
!&./
+0
+1-2
+11
+'!
00.3%,,,,3/一次从 单元格中读取所
有的值将其放入数组
&1-*,,,,
&1*4
'0.1-1/
16'7,*$
''8'改变数组中的值
0.1-1/'
16
91
91-
0.3%,,,,3/0一次将所有结果写回单元格
!
避免选取/激活对象
使用选取的方法更新单元格区域是最慢的。在试验了使用 0 对象、使用
类型和使用 方法对一个大的单元格区域读写数据的操作后,
方法是最慢的。
再来看一个例子:在工作表中有 :, 个形状,在每个形状中写入“;<。使用
方法的代码为:
!-./
+1
&,* $$
$$./
*3;3
9
!
运行速度更快的方法是完全避免使用选取并直接引用形状:
!&./
剩余10页未读,继续阅读
资源评论
- amishaer22013-03-06对于小白的我来说,不大看得懂
- a12035700412014-01-15对于小白的我来说,不大看得懂
oleam
- 粉丝: 0
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功