右键点击需要实现此功能的工作表标签名,按“查看代码”(或者按ALT+F11进入VBA编辑器). 1、双击工程窗口中的工作表名字如“Sheet1”,在其代码窗口中输入以下代码(全部蓝色字体):
'作者:QSDDZ 2009-11-19 QQ:380725227
Private Sub WorkSheet_SelectionChange(Byval Target as Range) Const Ps="123456" '这是保护工作表时用的密码,可修改 If Target.Count=1 And Not Iserror(Target) then If Target="" Then ActiveSheet.UnProtect PassWord:=Ps Exit Sub End If End If ActiveSheet.Protect DrawingObjects:=True, Contents:=True,Scenarios:=True, PassWord:=Ps End Sub
2、双击工程窗口中的“ThisWorkbook”,在其代码窗口中输入以下代码(此代码使得每次保存文件时,自动保护工作表,所起作用是防止他人打开文件时不启用宏时,造成上面设置无效,因为如果禁用宏,所有单元格将不能修改):
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Const Ps="123456" '这是保护工作表时用的密码,与上面工作表中使用的密码要求一致 Sheet1.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=Ps '注意:这行最左边的“Sheet1”与上面第一步所设置的被保护工作表的名称要相同。 End Sub 3、保存文件,再打开试一试。 |
联系客服