[算表] 提升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