Here’s why: First, no matter what the help files may say, or what you may have heard, Screen Updating does not always reset itself, including where User Forms and User Defined Functions are concerned.Part of the confusion about this topic comes from versions 2000 and before, when it was not necessary to set Screen Updating back to True. Code writers who did not reset Screen Updating to True before 2002 had to go back to their macros and do so.Here are some ideas: - Check if your code calls for code in a different procedure, maybe the Application. Screen Updating is turned on outside of the procedure. I've created a Daily Checklist application in excel that gives a month view in the Daily Checklist. You should just see it changing sheets and workbooks [email protected] unfortunately the macro recorder will rarely show 'good' ways to do things, but it is useful for finding out certain properties or when dealing with things like pivot tables / data connections.The tasks line up in rows and you simply select yes, no or N/a, for that task for the day on the calendar. Using Personally I would just set the screenupdating property to false without checking it, once the VBA has finished running the screen will update as normal.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. I wanted to leave a comment but I am not allowed to do so.
And usually when you write your code, you’re just trying to get things to work. But after a while you notice your code is beginning to get very slow when it runs. I mentioned that the issue is that the screen is constantly updating, which is causing the code to run slowly. The code runs much faster when there’s less real estate to update on your screen. Screen Updating = True End Sub Now the code runs at 1.4 seconds for me, which is a huge improvement.
Here are some links to people who have also noticed this problem:
791577-Application-Screen Updating-not-working-in-Excel-2013 https:// test the difference in screen updating, try running the one-and-only macros in these files: first file does not use Application. Adding Do Events, which normally makes Excel responsive while a macro is looping, does not help either situation.
The biggest problem I'm running into is that when I run the code (despite having Screen Updating set to False), it visibly opens the library file while it runs the macro.
To make sure this is efficient going forward, I want to prevent that from happening. Enable Events = False Dim bk As Workbook Dim result As Long Dim a WB As Workbook Dim a WS As Worksheet Set a WB = Active Workbook Set a WS = Active Workbook.