[算表] 提升VBA速度

楼主: j2708180 (JaJa)   2020-06-30 15:51:55
之前我用录制做出的宏,按下去很容易当机
我把流程分成两三个,计算笔数也减少
select、selection也删掉,果然顺畅许多
但这样子程式码(格子位置)要改就很常遗漏
https://officeguide.cc/excel-vba-speed-up-macro-tips/
请问这篇提到的方式,有没有效呢?
除了画面不会乱闪,感觉没什么没什么变化?
我有一个计算是
输入 X1,得到好几格 Y1,复制贴上
再输入 X2,得到好几格 Y2,复制贴上并相加
因为Y是公式算出来的,所以不能把公式计算切成手动
但这个贴上并相加,应该就是容易当机的元凶,笔数不能太多
应该要怎么写呢?
作者: soyoso (我是耀宗)   2020-06-30 16:16:00
y是公式算出,是指在储存格内计算吗?如果是的话,看是否改为在宏算出,暂存于阵列内,相加方面也在阵列内处理,贴上方面则在最后将阵列的资料一次回传到储存格范围
作者: olycats ( )   2020-07-01 00:31:00
连结提供的方法应该是有效的 我写VBA的时候也会注意这些最后提到的复制贴上相加…看能不能提供档案或程式码比较好给建议
作者: waiter337 (给开司一罐苏格登)   2020-07-01 07:05:00
实际操作上 该连结的建议算有用 但算是治标不治本不过想治本 难度会大增 需要利用阵列 范围物件 直接汇入方式的写法 比较有帮助利用上述方式速度差距依情况至少都差到3~N倍以上的速度若有范例图档或google电子表格 用abc123写出输入范例与输出范例 可以快速帮你判断如何下语法
作者: olycats ( )   2020-07-01 10:11:00
收到了 晚一点再看
作者: waiter337 (给开司一罐苏格登)   2020-07-05 23:51:00
不要用 会更快 工作表上不要有任何函数都用vba application 解决

Links booklink

Contact Us: admin [ a t ] ucptt.com