This example demonstrates how turning off screen updating can make your code run faster.The example hides every other column on Sheet1, while keeping track of the time it takes to do so.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 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 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.prompting to confirm worksheet deletions), which you may or may not want to suppress. Description The improvement of screen Updating depends largely on how your macro is written.
You could do this: ' turn off updates ' Organise data in ram so that it fits the range for which it is meant Dim two_d_arr (rows,cols) load Data From Source two_d_arr Dim destination Range as Range destination Range = Sheets(some Sheet). number of cells updated), and how many sheets are there, how many sheets/cells refer to sheet your code is updating and how many formulas are present in the whole workbook. Screen Updating = False '-----------------------My code Application. Just make sure you reset Screen Updating to true when you're finished running the macro. Screen Updating = false" because I saw the yellow highlight go over the line in debug mode. Calculation = xl Calculation Automatic Application. Screen Updating from within the code instead of the immediate window, but I'm fairly sure what I'll find. This function gets called by an event handler that catches a Commands Bar button event (? Basically, we create a menu bar and one of the buttons in our custom "File" menu is labeled "Load Portfolio" which calls this function. I have encountered the same symptoms and can't think as to why it's happening. I think that maybe something has broken in my excel because even when I closed out of excel and opened a brand new 2003 workbook with no previous code I was getting the same problem. The interesting thing is that *some* of my modules allow Screen Updating to be set to False, there's only a few that don't. However, I *can* change the Screen Updating from the immediate window. Screen Updating = False b Global Change Event = True Application. About to go home for the day, but I plan on trying to print Application. So while Screen Updating always is True in debug mode, this is not the issue for me.Disabled Enabled 0.61909653 2.105066913 0.619555829 2.106865363 0.620805767 2.106866315 0.625528325 2.102403315 0.625319976 2.0991179 0.621287448 2.105103142 0.621540236 2.101392665 0.624537531 2.106866716 0.620401789 2.109004449 There is one important thing to know about screen updating which I didn’t see in any previous answer.From my own test I find out that turning screen updating off and on takes about 15ms (tested in C# via Excel Interop).It’s not as fast as it used to be and it can begin to get pretty frustrating waiting a long time for your code to finish. Color = vb Black Else ' else, color the cell light gray cell. If you think about it, if there were of the screen to process, it should run faster, right? Now it should make sense why it’s a good idea to turn off Public Sub Add Content To Sheet() Application. Color = vb Black Else ' else, color the cell light gray cell.