我有一个在excel电子表格中构建的财务模型,需要在许多用户使用它时锁定,但鉴于贷款决策是基于输出,用户更改/编辑单元格的能力应该受到限制。
电子表格中有12张纸,每张纸都有一些分配给按钮的宏。鉴于每张纸上按钮上出现的文字都是从指定的语言标签中选取的。
锁定工作表不受编辑的vba代码位于每个工作表的后面,而不是从覆盖所有工作表的模块运行。这是因为需要解锁每个工作表,以便从语言选项卡中为按钮分配名称。
大多数细胞都被锁定,但是每张纸上需要填充并因此解锁的细胞数量有限。
我想让用户能够:
我在每张表后面都有以下vba代码(有一些无关紧要的更改),但它不符合上述要求。如何修改此vba代码以实现上述1),2)和3)?
Private Sub Worksheet_Activate()
ActiveSheet.Unprotect "Password"
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).TextFrame.Characters.Text = Sheet12.Range("$B$142")
ActiveSheet.Protect "Password", DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True
End Sub