Board logo

標題: VBA執行速度 [打印本頁]

作者: chwqk    時間: 2010-8-24 13:26     標題: VBA執行速度

如何增加EXCEL VBA執行速度?
小弟每日利用EXCEL網路查詢更新資料 進行運算
隔一斷時間有新IDEA  運算公式就會跟者修正
開始初期 更新資料僅須2分鐘
經修改統計運算公式(主要是區域欄資料統計 每日更新時會在欄資料插入列 所以統計範圍隨日期增加)
修改後  更新資料僅須12分鐘
最近又修改 僅增加一些統計運算公式
修改後  更新資料僅須80分鐘....................................#@!@#$%^&

將程式分為二,執行速度正常部份拆出為程式A,將更新時會發生停滯現象之後程式碼拆出為程式B
測試:
1.先執行A再執行B  結果還是一樣慢

2.僅執行B 則不會有停滯現象
為何僅執行B不會有停滯現象 而先執行A後再執行B 就會有停滯現象(停在統計欄資料插入列 )
為何會如此!!!!!!!!!!!!
如何 改進速度??????????????????
作者: kimbal    時間: 2010-8-24 22:21

回復 1# chwqk


方向有很多...可以發一下代碼上來看看嗎?

有關速度, 有沒有先把自動計算停掉?

application.Calculation=xlCalculationManual
application.screenupdate=false

運行後
application.Calculation=xlCalculationAutomatic
application.screenupdate=true
作者: yen_yin_c    時間: 2011-5-1 17:43

關掉CalculationAutomatic後,僅針對想要計算的sheet計算
ActiveSheet.Calculate
可以取得想要的更新,且可以避免其他sheets過多連結拖累演算速度
作者: chin15    時間: 2011-5-1 22:15

影響速度的可能原因就太多了
這樣問哪猜得著?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)