防止用户编辑手动范围(但允许VBA)
我想阻止用户能够编辑一定范围的单元格。 但VBA应该保持这样做的能力。 所以当按下Excel中的button时,VBA应该能够对Cell的值进行修改,而用户不能手动执行此操作。
刚刚find了一个适合我的需求的其他软件: 如何保护Excel中的单元格,但允许这些被VBA脚本修改
只有我还在质疑的是,如果这个答案适用于某个范围而不是整个练习册呢?
Sollution
Worksheet.Protect“密码”,UserInterfaceOnly:= True
申请在一定的范围(我觉得下面的代码应该工作…?):
Worksheet.Sheets(“ControlSheet”)。范围(“M5:N19”)。保护“密码”,UserInterfaceOnly:= True
使用VBA保护工作表:
Dim sh As Worksheet Dim myPassword As String myPassword = "password" For Each sh In ActiveWorkbook.Worksheets sh.Protect Password:=myPassword Next sh
现在,如果你想用VBA修改某些东西,你可以用下面的方法解除它们的保护:
Dim sh As Worksheet Dim myPassword As String myPassword = "password" For Each sh In ActiveWorkbook.Worksheets sh.Unprotect Password:=myPassword Next sh
然后再保护他们。