Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Turning Off Screen Updating.
Written by Allen Wyatt (last updated January 10, 2024)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365
Many people write their own macros to manipulate the information in a workbook. Many times, the macro may do quite a bit with the data, such as selecting different cells, replacing values or formulas, and taking other types of actions. This means that the Excel screen can look like it has "gone crazy" while the macro is running.
One thing you may want to do with your macro to make it run faster and to prevent distracting flashes on the screen is to turn off screen updating while the macro is running. The following macro lines will, respectively, turn off screen updating and then turn it back on in a VBA macro.
Application.ScreenUpdating = False Application.ScreenUpdating = True
The idea is to use the first line near the beginning of your macro, and then use the second line near the end. Thus, the main body of your macro can do its work behind the scenes without the necessity of stopping to update the screen.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9151) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. You can find a version of this tip for the older menu interface of Excel here: Turning Off Screen Updating.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Do you often need to know the difference between two values in your worksheet? This tip shares a quick little macro that ...
Discover MoreWhen writing a macro, you may want to fill a range of cells with different values. The easiest way to do this is to use ...
Discover MoreMacros depend on the use of variables to do their work. This tip examines how variables are declared in a macro, using ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2020-04-30 10:43:22
J. Woolley
@Seriously Stressed
I have noticed that Application.ScreenUpdating = False "appears" to be ignored if my code Activates a worksheet or Selects a Range on a worksheet. I'm not sure which was the cause, but when I avoided both the problem went away. As many have noted, it should not be necessary to Activate or Select unless you want the object to be viewed (and the screen updated). See the 2nd paragraph of this post #25 in the thread cited by Peter Atherton:
http://www.vbforums.com/showthread.php?460281-Application-ScreenUpdating-false-does-not-work&p=4935447&viewfull=1#post4935447
2020-04-30 04:19:55
Peter Atherton
Seriously Stressed
Here are a couple of links that deal with this problem,
http://www.vbforums.com/showthread.php?460281-Application.ScreenUpdating-false-does-not-work
https://www.excelforum.com/excel-programming-vba-macros/1306608-that-durn-screen-flicker.html#post5280766
The second thread by Logit, said he solved the problem. I hope it works for you. Incidently, do you also set calculation to manual when start the porocedure and reset it at the end.
2020-04-29 11:06:20
Seriously Stressed
Recently this feature stopped working. I have no explanation why, but it has devastated the speed of all my workflows. Do you have any clue why this code would just stop working?
2020-03-16 05:22:59
David Shepherd
If using this in a procedure it is always a good idea to include an error trap to set screenupdating back to True in the event of an error arising in the code.
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments