麻辣家族討論版版's Archiver

clio 發表於 2022-2-21 10:50

Excel VBA程式執行有時會變很慢

大家好,
想請教大家是否有遇到與我相同的問題,是否知道發生的原因?若是有知道的,可否告知我,感謝您
相同的程式,突然執行起來由一分鐘,變成十一分鐘,我不確定是怎麼回事,但是這樣的情況持續了一段時間,直到我今天想找原因,將程式加上分段的執行時間記錄後,測試了二次又變回一分鐘
而我最近也有陸續發現有時程式會執行的較慢,但是我將各視窗的Excel都檔案後再執行又變正常
我不確定是否與下列情況有關
一、Excel的版本變為2016,Excel檔案之前的開啟都會在同一個Excel視窗內,現在開始變成多個不同的視窗
二、公司導入了Office 365

我的VBA執行前都有先將
ScreenUpdating=False
Calculation改為手動更新

還請大家若是有想到可能的原因,可以讓我知道好改進,感謝您

singo1232001 發表於 2022-2-24 16:08

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=118455&ptid=23589]1#[/url] [i]clio[/i] [/b]


    這也要檔案才能知道的壓
   不然就變成全體通靈大賽了

通靈1.過多空白儲存格產生格式  用ctrl+上或下  把空白的位置全部刪除一遍(要用刪除整列 不能用delete) 而且刪完要儲存一遍重開
           會造成這問題可能用到許多select 跟delete 或者整欄整列變換格式 造成

通靈2.迴圈定位飄走了 可能跟1有關  也可能是定位有關 F8檢查迴圈從多少到多少

通靈3.不小心設了整列或者整欄格式 然後沒刪乾淨 造成檔案過肥  注意檔案是不是胖很多

劉大胃 發表於 2022-2-24 17:36

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=118455&ptid=23589]1#[/url] [i]clio[/i] [/b]


1. 好像是你在某一個檔案的開啟時, 又將營幕更新關閉或手動計算的狀態改變了!
      多試著在開某檔案之後, 再下一次營幕更新關閉或手動計算的動作, 看是否仍是一樣?

2. 試著在每一個程式段落, 加上處理時間的記錄或顯示, 看是那一個程式段造成的,
     後續會更容易Debug.

clio 發表於 2022-2-27 10:36

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=118465&ptid=23589]2#[/url] [i]singo1232001[/i] [/b]
singo1232001, 感謝您的回覆提點,也是我的問題,我沒有說清楚,執行的程式與檔案都是固定的,所以您提的那幾點,執行的檔案問題應該是不會發生的,沒關系,我再找看看問題點,感謝您的回覆。

clio 發表於 2022-2-27 10:38

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=118466&ptid=23589]3#[/url] [i]劉大胃[/i] [/b]
劉大胃,感謝您的提點,第一點到是我沒試過,我再來測試看看,第二點方式我覺得挺好的,我再來試試,太感謝您了

checkout88 發表於 2022-10-18 15:31

我之前遇過一種情形, 是因為VBA寫在 ThisWorkbook內, 那段程式又是在隨時抓游標的位置的, 以致於動一下游標就跑一次.. 慢到爆.... 所以你也許可以檢查是否有類似的情形.

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供