在Excel中,工作表名称显示在工作表标签上,用户可以任意对其进行更改。Excel VBA并没有提供修改工作表名称时触发的事件,但是可以通过为工作表的Deactivate事件添加代码来检测工作表名称是否改变以达到禁止工作表更名的目的。本文介绍通过为工作表的Deactivate事件添加代码来实现禁止为工作表更名的方法。
1、启动Excel并打开Visual Basic编辑器,在工程资源管理器中双击需要禁止更名的工作表选项打开其“代码”窗口,在其中输入程序代码,如图1所示。具体的程序代码如下所示:
Private Sub Worksheet_Deactivate()
If Me.Name<>"销量统计表"Then
Me.Name="销量统计表"
MsgBox"工作表禁止更名!"
End If
End Sub
图1 打开“代码”窗口并输入程序
2、切换到Excel,对名为“销量统计表”的工作表进行更名操作,当操作完成后切换到其他工作表时将触发Deactivate事件过程,给出提示对话框,工作表恢复为设定的名称,如图2所示。
图2 程序给出提示对话框同时工作表名恢复为设定名称