Excel.Tips.Net Welcome toExcel.Tips.Net

Helpful Links

Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment

Tips.Net Store

ExcelTips FAQ
ExcelTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

Newest Tips

Recording a Macro

Adding a Little Animation to Your Life

Converting a Range of URLs to Hyperlinks

Making the Formula Bar Persistent

Engineering Calculations

Digital Signatures for Macros

Fixing the Decimal Point

 

Using the Status Bar

Summary: When developing a macro, you may want to display on the status bar what the macro is doing. Here's how to use this important screen area and the macro commands that enable that use. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)

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.

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.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2296) applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003 | 2007

Organize Your Data! Using the powerful sorting capabilities of Excel can help you get your data into just the order you need. Find out how you can use the full capabilities of sorting to your benefit.
 
Check out ExcelTips: Serioius Sorting today!