如何防止用户选择工作表

时间:2014-03-09 09:53:07

标签: excel vba excel-vba

有没有办法阻止用户根据“if contidition”的结果选择工作表? 例如,我在一个工作簿中有多个工作表,如果特定范围的结果是“无结果显示”,则用户将无法选择工作表“市场价值”。 他会得到一个msgbox:“没有要显示的值”。 很多人感谢!!

2 个答案:

答案 0 :(得分:0)

查看工作表激活事件。您可以做的是:在工作表激活事件上,如果用户可以看到工作表,则更新保存最后一个活动工作表的变量。如果用户不应该看到激活的工作表,则会显示一个消息框并重新激活最后一个活动工作表。伪代码就是这样的:

if the user can see the currently activated worksheet
    remember the worksheet as the last active one
else
    display message box
    activate the last active worksheet

答案 1 :(得分:0)

要保护工作表,您应该向工作表添加Worksheet_Activate事件处理程序。要执行此操作,请转到vba,然后在项目导航器中单击工作表(在Microsoft Excel对象中)。这将带您进入工作表的代码窗口。添加以下代码:

Private Sub Worksheet_Activate()
    Sheets("Sheet1").Activate
    MsgBox "private"
End Sub

这始终会激活Sheet1并向用户显示警告。

相关问题