处理数据时,有时为了保护Excel工作表,往往只对某些用户开放指定的工作表,而工作簿中其他工作表则不允许用户打开。在编写VBA程序时,可以通过在工作表的Deactivate事件过程中添加代码只允许特定的工作表被激活来实现这一功能。本文介绍通过在Excel工作表的Deactivate事件过程中添加代码实现只允许打开特定的工作表的方法。
1、启动Excel并打开Visual Basic编辑器,在工程资源管理器中双击"Sheet1(Sheet1)"选项打开工作表Sheet1的“代码”窗口,在其中输入程序代码,如图1所示。具体程序代码如下所示:
Private Sub Worksheet_Deactivate()
MsgBox"您只能查看当前工作表!"
Sheets(1).Activate
End Sub
图1 在“代码”窗口中添加程序代码
提示
在Excel中,当用户单击其他工作表标签时,当前工作表将产生Deactivate事件过程,因此只要在这个事件过程中使用Activate方法使当前工作表再次被激活,就可以实现禁止打开其他工作表。
2、切换到Excel,当选择其他的工作表时,程序将给出提示,此时无法激活其他工作表,如图2所示。
图2 选择其他工作表时给出提示