Written by Allen Wyatt (last updated January 10, 2024)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021
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 2021. You can find a version of this tip for the older menu interface of Excel here: Turning Off Screen Updating.
Program Successfully in Excel! This guide will provide you with all the information you need to automate any task in Excel and save time and effort. Learn how to extend Excel's functionality with VBA to create solutions not possible with the standard features. Includes latest information for Excel 2024 and Microsoft 365. Check out Mastering Excel VBA Programming today!
Want to create a summary worksheet that pulls a single row of data from each worksheet in the workbook? Here are a couple ...
Discover MoreMacros can allow you to do some fancy data validation in your workbooks, such as checking to see if the user entered ...
Discover MoreWhen you use SUM to determine the total of a range of values, Excel doesn't really pay attention to whether the values ...
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 © 2025 Sharon Parq Associates, Inc.
Comments