Long-running, high-end Excel-based applications that I developed years ago and that run beautifully in Excel 20 look like Amateur Hour in Excel 20 because Application. The screen unfreezes apparently when VBA code copies a preformatted worksheet from the macro workbook into a new workbook, although other circumstances must trigger it as well.

I’ve seen the threads on this subject that recommend “fiddling with the code” or “calling the code in a subroutine”.

excel screenupdating 0-44

Unfortunately, I have to maintain hundreds of Excel applications each with thousands of lines of code and hundreds of users who are about to migrate to Office 2016, so rewriting is not an option. This solved my flicker problem, but I didn't like how the excel application disappeared completely then suddenly reappeared for the user.

I was able to solve the issue to my liking by using a workaround this 'which window is on top' problem.

which obviously isn't working because the screen updates a whole lot afterwards. I almost wish this were more complicated; the fact that everything looks so simple is making it difficult to think of what could possibly be happening! So this morning application.screen Updating was working as expected. The test code that I wrote is below: Sub test() Debug. One thing that seems to be common among those modules not working, is that they all contain code that changes worksheets. In any case, it's a real mystery why this happens from one day to another!

I started to debug, and immediately after the "Screen Updating = false" line executes, I go to the immediate window and type: Debug. Any clues on how to solve it would be greatly appreciated. Screen Updating = True End Sub _________________________________________________________ Private Sub Check_for_Open_Workbook() Application.

I wanted to leave a comment but I am not allowed to do so.

Without a code sample it is very dificult to understand your problem (please see https://stackoverflow.com/help/how-to-ask and edit your question appropriately. Value 5 Next Cell Call YK_End End Sub using these procedures. EDIT #1 There are many ways to measure the execution time of your code; I don't know the most accurate one; I only need approximate value; See: How do you test running time of VBA code? Visible = False For Each File In Dir Set obj Workbook = obj Excel. Screen Updating = val Then 'Gets rid of flashes for changing it to the same .Screen Updating = Not val End If 'Doesn't matter what happens above, this is based on what Excel would send back Disable Screen Updating = Not .The only way that you can make this act the way you want is to use the Screen Updating property in a more fine grained way.