For that, I post and update a userform for each step with a text message with the elapsed time, the number and name of each step, and a progress bar. Also, if the program quits, a screen snapshot tells me where the macros quit working on that user's computer. Don't use "Exit Sub", instead use "Go To End Of Macro" and place this code before "End Sub". Screen Updating = True The same goes for all you do with "Application.***" A simple and less involved method of providing progress updates would be to use the following line of code in the macro: Application. Prior to "End Sub", place this last line of code: Application. Screen Updating = False, the statusbar will change.] This does the side effect that it looks as though Excel has "hung" or crashed, especially if the macros is going to take some time to execute.

For long macros I would advocate displaying a Userform saying "Please Wait" and for very long macros showing a progress bar or percentage complete, and maybe even a "Cancel" button to exit before completion.

is your source for cost-effective Microsoft Word training.

Keep that on mind if you will execute anything which would take less time.

And after all don’t turn screen updating on/off many times in some loop. And one more note (which you probably don’t want to hear) if you want it quick use C .

The grater the amount of screen changes the bigger the impact will be. Other application settings that can make a difference to execution time are Calculation and Event handling. Enable Events = False ' Code here Clean Up: On Error Resume Next Application. Calculation = xl Calculation Automatic Application. Enable Events = True Exit Sub EH: ' Do error handling Go To Clean Up End Sub Sub test Screen Updating() Dim i As Integer Dim numb Switches As Integer Dim results As String 'swap between sheets this number of times numb Switches = 1000 'keep track of time Dim start Time As Double start Time = Time 'swap between sheets 1/2 (need both sheets or this will crash) For i = 1 To numb Switches Sheets(1 (i Mod 2)).

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.

This tip (9151) applies to Microsoft Excel 2007, 2010, and 2013.

You can find a version of this tip for the older menu interface of Excel here: Turning Off Screen Updating.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).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.I always assumed it was just used so that it didn't scare end users into thinking their PC was about to crash.