
Tips.Net > ExcelTips Home > Macros > VBA Examples > Using the Status Bar
Summary: Your macros can use the status bar area, at the bottom of the Excel window, to display messages. This is normally done to post status messages that indicate the progress of your macro. This tip explains how you can put information on the status bar in your own macros. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, and Excel 2003.)
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 be displayed 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.
Using the status bar is all fine and good, as long as the status bar is turned on. Excel can be customized, by the user, so that the status bar is turned off. If this has been done, then you cannot display messages on the status bar. The solution is to make sure the status bar is turned on before you try to display a message.
You can control the display of the status bar by using the Application.DisplayStatusBar property. If you set this property to a logical value (TRUE or FALSE), it turns the status bar on or off.
As an example of how to program this sort of process, consider the following code:
bStatusState = Application.DisplayStatusBar Application.DisplayStatusBar = True Application.StatusBar = "Updating past months..." ' ' Rest of program goes in here ' Application.StatusBar = False Application.DisplayStatusBar = bStatusState
The very first line of this code assigns the current value of the status bar (TRUE or FALSE, meaning on or off) to the variable bStatusState. This same variable is used in the last line to reset the status bar condition to its original state. In between, the status bar is turned on and a message is displayed and later erased.
Tip #2296 applies to Microsoft Excel versions: 97 2000 2002 2003
Tame Your Data! ExcelTips: Filters and Filtering provides all the details necessary to let you manage large sets of data with confidence and ease. Its information-packed pages demonstrate how to use the two types of filters provided by Excel: AutoFilters and advanced filters.
Check out ExcelTips: Filters and Filtering today!
You can put times into a worksheet, but then what? Need to do calculations with times? How about working with elapsed time? Don't be confused; learn how easy it can be. (more information...)
Ask an Excel Question
Make a Comment
ExcelTips FAQ
ExcelTips Premium
Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips
Advertise on the
ExcelTips Site