使用状态栏(Microsoft Excel)
通常,创建宏时要做的第一件事就是使用关闭屏幕显示更新的命令。这样做是因为在不必更新屏幕时宏将运行得更快。完成此操作后,您可以做的最重要的事情之一就是向用户提供反馈,以使他们不会认为自己的系统已经吃完饭了。
提供反馈的常用方法是使用状态栏。使用VBA,可通过类似于以下内容的代码行完成此操作:
Application.StatusBar = "Updating past months..."
此行导致消息“正在更新过去几个月…__”显示在应用程序的状态栏上。该消息将保留在那里,直到通过宏或Excel将另一条消息写入状态栏。
如果要删除状态栏上的消息,可以采用两种方法。首先是将一个空字符串写入状态栏,如以下代码所示:
Application.StatusBar = ""
在这种情况下,引号之间没有任何内容,因此状态栏上将显示一个空字符串,从而删除以前的内容。另一种方法是使用以下行:
Application.StatusBar = False
将逻辑值FALSE写入Application.StatusBar属性将擦除您之前在状态栏上写入的内容,并恢复默认状态栏文本。
只要打开状态栏,使用状态栏就可以了。用户可以自定义Excel,以便关闭状态栏。如果已完成,则无法在状态栏上显示消息。解决方案是在尝试显示消息之前,确保状态栏已打开。
您可以使用Application.DisplayStatusBar属性来控制状态栏的显示。如果将此属性设置为逻辑值(TRUE或FALSE),则它将打开或关闭状态栏。
作为如何编写此类过程的示例,请考虑以下代码:
bStatusState = Application.DisplayStatusBar Application.DisplayStatusBar = True Application.StatusBar = "Updating past months..." ' ' Rest of program goes in here ' Application.StatusBar = False Application.DisplayStatusBar = bStatusState
该代码的第一行将状态栏的当前值(TRUE或FALSE,表示打开或关闭)分配给变量bStatusState。
在最后一行中使用相同的变量将状态栏条件重置为其原始状态。在这两者之间,状态栏打开,并显示一条消息,随后将其删除。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2296)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: