应用场景 一键设置保护工作表所有公式不被修改 知识要点 1:利用specialcells方法定位公式区,将其隐藏和锁定属性设为True,然后保护工作表 2:Worksheet.ProtectContents 属性 果工作表内容是受保护的,则为 True。此属性保护单独的单元格 3:Range.Locked 属性 返回或设置一个 Variant 值,它指明对象是否已被锁定 4:Range.FormulaHidden 属性 返回或设置一个 Variant 值,它指明在工作表处于保护状态时是否隐藏公式。 5:Worksheet.Protect 方法 保护工作表使其不能被修改 Sub 保护公式不背修改() If ActiveSheet.ProtectContents = True Then MsgBox '当前工作表已保护,程序无法执行!', 64, '提示' On Error Resume Next Cells.Locked = False '取消所有单元格的锁定属性 Cells.FormulaHidden = False '将隐藏公式也取消 With Cells.SpecialCells(xlCellTypeFormulas, 23) '对公式区域进行操作 If Err.Number = 1004 Then MsgBox '当前表不存在公式': Exit Sub '如果错误提示,并退出程序 .Locked = True '锁定所有公式区 .FormulaHidden = True '隐藏所有公式区 '保护工作表(允许用户插入行、设置格式、删除行列、编辑对象等) ActiveSheet.Protect Password:='', DrawingObjects:=False, contents:=True, Scenarios:=False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _ AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True End With End Sub |
|