一些非常規現象開始影響我的宏。我有一個比較大的(13MB)excel工作簿。 ThisWorkbook.Save
工作得很好。花費10秒來保存工作簿(沒有任何數據更改)。現在需要2分鐘。 ThisWorkbook.Close SaveChanges:=True
也一樣。我在Windows 7
上使用Excel 2010
。通過VBA在Excel中保存時間過長
奇怪的是,我可以在沒有任何問題的情況下手動保存工作簿,如CTRL+S
或在Excel菜單中使用Save icon
。這樣保存程序的時間不到10秒,就像我的代碼用來做這件事一樣。
這種不必要的延遲的發生真的纏着我。你有沒有這方面的經驗?我正在尋找提示來解決問題。
編輯:
我已經改爲xlsb
格式被告知,去一點點進一步的測試。有些情況下,當節約時間看起來appropiate:
- 在很多張是重要的數據變化(48S)
- 的
Save
命令從新建module
觸發沒有任何其他變化(5S) - 我所有的圖表(150個)都被刪除(1s)。顯然,每張圖表都會給節省時間多出1秒。我知道,我應該使用一個動態的,但該死的標籤錯誤...而且之前完全沒有問題!
編輯2:
問題今天已經消失。 Save
命令再次正常工作,保存只需幾秒鐘。不知道是什麼引起了這個問題,但我擔心它會回來,並且會再次影響我的宏觀。 Excel絕對是古怪的!
我強烈建議xlsb格式,如果你有大的excel文件。看這個; http://stackoverflow.com/questions/7821632/when-should-the-xlsm-or-xlsb-formats-be-used –
我給它一個嘗試,它已經大大減少了文件的大小(從13.3到10.7MB, -20%)。儘管它沒有改變節省時間的長度。它需要大約130秒,就像'xlsm'一樣,而'CTRL + S'手冊就像一個魅力。但我從現在開始肯定會使用'xlsb'。謝謝你的提示! – Bernat
也許:ActiveWorkbook.Save –