通常,创建宏时要做的第一件事就是使用关闭屏幕显示更新的命令。这样做是因为在不必更新屏幕时宏将运行得更快。完成此操作后,您可以做的最重要的事情之一就是向用户提供反馈,以使他们不会认为自己的系统已经吃完饭了。

提供反馈的常用方法是使用状态栏。使用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及更高版本)找到本技巧的版本: