Typically, one of the first things you do when you create a macro is use a command that turns off updating the screen display. This is done because the macro will run faster when it does not have to update the screen. When this is done, one of the most important things you can do is provide feedback to the user so they don't think their system has gone out to lunch.
A common method of providing feedback is through the use of the status bar. Using VBA, this is done with a code line similar to the following:
Application.StatusBar = "Updating past months..."
This line causes the message Updating past months... to display on the status bar of the application program. This message remains there until another message is written to the status bar, either by your macro or by Excel.
If you want to erase the message on the status bar, there are two ways you can do it. The first is to write an empty string to the status bar, as in the following code:
Application.StatusBar = ""
In this case, there is nothing between the quote marks, so an empty string is displayed on the status bar, erasing whatever was there before. The other method is to use the following line:
Application.StatusBar = False
Writing the logical value FALSE to the Application.StatusBar property erases whatever you wrote on the status bar before and restores the default status bar text.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12319) applies to Microsoft Excel 2007, 2010, 2013, and 2016. You can find a version of this tip for the older menu interface of Excel here: Using the Status Bar.
Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!
If you've got a list of potential words, and you want to know which of those potential words are real, you'll appreciate ...
Discover MoreOne of the most common ways of creating macros is to use Excel's macro recorder. This tip shows how easy it is to use the ...
Discover MoreWhen creating user forms for use in Excel, you are provided with a range of controls you can add, including check boxes. ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2016-05-24 11:21:20
Glenn Case
When you do this, it's a good idea to include the Application.StatusBar = False statement as part of your error recovery routine so that you don't end up with a frozen status bar with a bad message after a crash.
If you don't normally use error recovers, to do this, you can just include
On Error GoTo ERR_RECOV
at the front of the procedure and
ERR_RECOV:
Application.StatusBar = False
just before the End Sub statement. Be sure that the flow of the procedure is such that you normally execute the Application.StatusBar = False statement if there is no error. If you get an error, execution will divert to that statement and the macro will end with the display status bar reset to normal conditions. This is something good to do with any conditions which might not reset if an error causes a crash, such as manual recalculation or Application.EnableEvents = False.
2016-05-21 11:35:23
Brian Lair
One more useful tidbit in this tip would be to say HOW to turn off screen updating. Fortunately, an Excel guru has already written about that: http://excelribbon.tips.net/T009151_Turning_Off_Screen_Updating.html
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2021 Sharon Parq Associates, Inc.
Comments