简单的办法是:发现相应的工作表标签被更改后,使用工作表事件和相应的代码将其恢复原状。
例如:
在标准模块中输入下面的代码:
Sub ProtectSheetLabel()
If Sheet1.Name <> "Sheet1" Or Sheet3.Name <> "Sheet3" Then
MsgBox "不能修改该工作表标签!", vbExclamation
Sheet1.Name = "Sheet1"
Sheet3.Name = "Sheet3"
End If
End Sub
然后在相应的工作表事件中调用该过程,本例中为工作表Sheet1和Sheet3的SelectionChange事件:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call ProtectSheetLabel
End Sub
此时,当回到工作表时,会提示该工作表标签不能修改且将标签改回原状。