每张不同的状态栏消息

时间:2015-05-28 13:13:51

标签: excel vba excel-vba

我使用以下基本命令来显示状态栏消息;已经指定了快捷键'Ctrl + O'来显示用户表单。

Application.StatusBar = "<<<<< Ctrl + O to show options >>>>>"

我有一个新工作表,我想链接到另一个用户表单。 有没有办法让当前状态栏消息只显示在一个工作表上(在本例中为“所有数据”)并在另一个工作表上显示另一个状态栏消息?

2 个答案:

答案 0 :(得分:1)

只是你的答案的补充。而不是将代码放在每张表中,而是将代码放在“Thisworkbook”模块/表中,并使用类似于下面的内容

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Sheet1" Then
    Application.StatusBar = "Hello World"
ElseIf Sh.Name = "Sheet2" Then
    Application.StatusBar = "Hello World123"
Else
    Application.StatusBar = False
End If
End Sub

如果您想更改工作表名称,也可以在下面使用

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Index = 1 Then
    Application.StatusBar = "Hello World"
ElseIf Sh.Index = 2 Then
    Application.StatusBar = "Hello World123"
Else
    Application.StatusBar = False
End If
End Sub

答案 1 :(得分:0)

我找到了答案。不确定它是否是最佳解决方案,但它对我有用。我在每个工作表中添加了一个Private Sub Worksheet_Activate()。我没有想要在我添加的状态栏上显示消息......

Application.StatusBar = False

...我确实想要添加一条消息;

Application.StatusBar = 'your text here