2013-10-29 866 views
1

我花了整個晚上做了一長串的Excel VBA腳本的無果而終「NG」重拍,只有遇到編譯錯誤的重複問題,「程序太大」。Excel的VBA腳本編譯錯誤「程序太大」

因此,我想和大家分享我的故事和辦法,也很想聽聽您的意見,如果你有更好的想法。

回答

1

我調試在Visual Basic中,發現通過去除以下行,問題就解決了:

ActiveWindow.ScrollRow = 10 
... 
ActiveWindow.ScrollRow = 10000 

我意識到,我的記錄,有超過1萬行,宏也抓住我的每個mousescrolls的或鍵盤向下滾動作爲一個額外的宏命令本身。因此,由於多個向下滾動,它扼殺了宏的內存限制。所以,通過簡單地刪除與「ActiveWindow.ScrollRow」相關聯的所有行來解決問題。

我想,如果我用了一個較新版本的MS或者更強大的Mac將幫助。歡迎提出有關如何更好地完成Macro錄製的建議,尤其是需要向下滾動以捕獲深層行。請注意,我沒有選擇整個列(通過單擊列標題)以避免觸及行的最大限制(因此增加了不必要的CPU負載......我猜)。對於像2013年那樣使用新辦公室的人們來說......對於Macros而言,是否值得升級呢?

+2

是的。那麼你可能會發現[這個 - 點6](http://www.siddharthrout.com/2011/08/01/to-err-is-human/)有趣......即使你刪除了不必要的代碼行,如果你覺得代碼還是很大的話,可以用獨立的程序把它分開:) –