Recently, the client came back to me with a 'big' problem.Whenever I do the quick toggle to refresh the progress chart, the entire excel screen (including all the items on it)flickers, which drives the guy crazy. Screen Updating = True End Sub Problem might be that, depending on how quickly your macro(s) execute, the progress indicator may appear to jump from 0 to 100%.I've got a client who requires a 'progress' bar on his spreadsheet during macro execution.What I've done, is I've a pie chart linked to 2 cells which I adjust based on the progress.Has anyone got any idea on what could be done with this to keep the chart updating while keeping the front page constantly displayed (the macro jumps between pages) without screen flickering? SOLUTION Believe it or not, but I just found a solution. In VBA, it's possible to refresh just a specific object, while the remaining screen remains 'locked'. You can do graphical progress bars, too, but the basic idea behind it would be the same, just instead of updating a label value, you'd be changing the size of a textbox with a differing background color, etc.For example: Sub Status Bar() Dim pct As Double Dim msg as String Application. Screen Updating = True End Sub Sub Status Bar() Dim pct As Variant Do Events User Form1. Screen Updating = False For i = 10000 To 1 Step -1 pct = (10000 - i) / 10000 If Int((i / 10000) * 100) = (i / 10000) * 100 Then msg = Format(pct, "0%") User Form1.
That is why I gathered all VBA performance guidelines into this single post which contains all the known ways of Improving VBA Performance, organized by impact on VBA Performance.Set the Calculation mode to xl Calculation Manual so that no calculations are carried out within the Excel Workbook until the Calculation mode is changed back to xl Calculation Automatic or by running Application.Calculate: This is because looping through Objects of a Collection is slower.Dim rng Temp As Range Screen Updating = False Documents. I've got yet another question from the long serries of 'Stop excel screen from flickering', but I think this one is a bit more tricky. See Also: Speed Up Code If you record Excel macros, as apposed to writing them, you will often wish to stop the screen flicker caused by your macro selecting cells and Worksheets.