【发布时间】:2019-05-23 07:10:05
【问题描述】:
我有一个包含多个工作表的工作簿,在打开工作簿时需要锁定和保护所有非空白单元格。
这将是一份员工培训记录,其中多名培训师将评估新员工的技能。我想防止任何人意外删除训练数据。
我找到了一个可以锁定所有单元格、将所有空白单元格设置为未锁定并保护单个工作表的代码,但我无法在整个工作簿中应用此代码。
Private Sub Workbook_Open()
Dim myCell As Range
Set myCell = Selection
Cells.Select
Selection.Locked = True
myCell.Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Locked = False
ActiveSheet.Protect DrawingObjects:=True, _
Contents:=True, Scenarios:=True
myCell.Select
End Sub
理想情况下,我还想添加密码保护以防止新员工取消对工作簿的保护。这可能在同一代码中吗?也可以将其拆分为一个新问题。
【问题讨论】: