I have been playing around measuring code execution times to gauge differences between executing my scripts locally and on my server. At one point I forgot to disable screen updating and was thankful I’m not sensitive to flashing lights before thinking about it in more detail:
When I first started using VBA I always assumed it was just used so that it didn’t scare end users into thinking their PC was about to crash. When I started reading more into improving the efficiency of your code I understood what it was for but how much of an effect does screen updating really have on your codes execution time?
Turning off screen updating will only make a difference to execution time if the code interacts with Excel in a way that causes changes to the screen content. The greater the amount of screen changes the bigger the impact will be. The other posted answers aptly demonstrate this.
Other application settings that can make a difference to execution time are Calculation and Event handling. Use this code template as a starting point (the error handler ensures that these properties are turned back on at the end of the sub, even if it errors)
Other techniques exist that can provide even greater improvement in execution speed.
The most useful include
Select,ActivateandActiveCell/Sheet/Workbookas much as possible. Instead declare and assign variables and reference those.Range.SpecialCells,Range.FindandRange.AutoFilterto limit the number of cells referenced.There are plenty of examples of these techniques on SO.