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