ScreenUpdating不会在Excel 2013中更新屏幕

我有大量的代码运行,需要30分钟以上运行,我已经设置,以便屏幕更新设置为false,而大部分的代码运行,但我现在一次又一次地把它变成真实的,直接返回到假。

在2003年,2007年和2010年这样做,使屏幕暂时更新,所以你得到了什么样的工作performance在看起来像然而在2013年它不工作…

我如何使Excel 2013临时更新屏幕中macros…

Sub Test() Application.ScreenUpdating = False ' Do loads of stuff here Application.ScreenUpdating = True ' Enable to refresh screen Application.ScreenUpdating = False ' Disable again ' Do more stuff here Application.ScreenUpdating = True End Sub 

DoEvents为我工作。 我不知道是什么原因造成的,但是在循环方法中插入DoEvents似乎在我使用它时纠正了这个问题。

 Sub LoopMethod Foreach i in Identity Call Loopthis Next For EndSub Sub Loopthis DoEvents select.Cells(i, 6) EndSub 

激活另一个工作表,然后再次激活所需的工作表为我工作 – 我有一个代码,屏幕更新失败,我激活另一个工作表,然后再次我正在工作,它更新当前屏幕。

 application.ScreenUpdating = False ''''''code''''''' Thisworkbook.worksheets(any otherworksheet in workbook).activate Thisworkbook.worksheets(current worksheet).activate application.ScreenUpdating = True