2014-10-29 118 views
1

長時間運行宏後,即使在宏完成時,Excel中的ScreenUpdating也完全停止工作。我從來沒有將它設置爲false,但它的行爲就像設置爲false一樣,讓Excel再次更新屏幕的唯一方法是將其關閉並重新打開。 VBA屏幕可以工作。我試圖運行DoEvents和ScreenUpdating = True,但Excel窗口不會以可視方式更新(它不會被凍結)。是否有清除ScreenUpdating緩衝區?我試圖手動將它設置爲false和true無濟於事。Microsoft Excel 2013 ScreenUpdating失敗

如果你想複製此錯誤使用此代碼

Application.OnTime(現在+ TIMEVALUE( 「0:00:05」)), 「宏名」,(現在+ TIMEVALUE(「0:00: 10「)),True

然後我有代碼複製並粘貼一些值,我控制循環停止時單元格A1中的倒數值。

+0

@PortlandRunner視圖 - >即時窗口(Ctrl + G),即使它沒有更新屏幕,也會彈出此窗口,我可以無形地告訴我,如果我開始點擊背景,但它表現出與Excel表單交互就好像ScreenUpdating設置爲false一樣。在即時窗口中,我嘗試Application.ScreenUpdating = False,然後True並且沒有任何更改。就好像我從我的所有拷貝和粘貼中炸燬了ScreenBuffer。問題幾乎每次都會發生(它也是非常隨機的!)。 – CodeCamper 2014-10-29 17:01:54

+0

我從來沒有見過這個,ScreenUpdating = True的獨立子程序一直爲我工作。 – 2014-10-29 17:05:38

+0

@ n8事情是我甚至都沒有在我的宏中關閉ScreenUpdating,但它表現得好像關閉了一樣。必須有某種屏幕緩衝區溢出。當我更換窗戶太多時,它也會這樣做。我希望有一些清除屏幕緩衝區的方法。 – CodeCamper 2014-10-29 18:15:23

回答

2

我在Excel 2013中遇到了這個問題。對我來說,這是我在加載用戶窗體時引起的。然而,這非常非常奇怪。經過大量的試驗和錯誤,我發現是什麼導致它使用了表格(「MySheet」)。激活命令。在我顯示並關閉表單之後,我立即將此命令從運行中移到了顯示錶單之前(即,當用戶單擊「顯示錶單」按鈕時)立即執行此操作。嘗試擺弄你的sheets.activate命令。

相關問題