Explanation: In the above example, it will display numbers from 1 to 100 in the first column on Sheet1.We can notice the screen updating while updating Sheet1.I have changed it slightly so it loops 10,000 times and I execute it 10 times for sample size.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. 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. Sub load Portfolio() Dim i Test As Integer, portfolio Version As String Application. :-) Basically, after all those statements (and between each one) Screen Updating remains "True". Screen Updating = False For i = 1 To 10000 Worksheets("Sheet1"). Screenupdating = False worked perfectly in Excel 2007 until last week, when it remained True however many times I tried to set it to False.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.
Then comment out the line which turns off screen updating and see what happens; you should find that you scroll down the sheet as the numbers get filled.
From my own test I find out that turning screen updating off and on takes about 15ms (tested in C# via Excel Interop).
Keep that on mind if you will execute anything which would take less time.
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) Sub Your Sub() On Error Go To EH Application. Select Next i 'get results results = "Screen Updating not disabled: " & Format(Time - start Time, "hh:mm:ss") & " seconds" start Time = Time 'scenario 2 - screenupdating disabled Application.
Screen Updating = False 'swap between sheets 1/2 (need both sheets or this will crash) For i = 1 To numb Switches Sheets(1 (i Mod 2)). Screen Updating = True 'get results for part two results = results & vb Cr Lf & "Screen Updating IS disabled: " & Format(Time - start Time, "hh:mm:ss") & " seconds" 'show results Msg Box results End Sub Firstly I've been using the script written by Richie (UK) Post #7 Here It simply iterates through a loop changing the value of i in one cell.