我想阻止用户编辑特定范围的单元格。但是VBA应该保持这样做的能力。因此,当按下Excel中的按钮时,VBA应该能够修改Cell的值,而用户不能手动执行此操作。
刚刚找到了另一种符合我要求的toppic溶剂: How to protect cells in Excel but allow these to be modified by VBA script
我唯一还在质疑的是,这是否也适用于某个范围,而不是整个工作簿?
答案 0 :(得分:2)
<强> Sollution 强>
Worksheet.Protect&#34;密码&#34;,UserInterfaceOnly:= True
在某个范围上应用(我认为下面的代码应该可以工作......?):
Worksheet.Sheets(&#34; ControlSheet&#34;)。范围(&#34; M5:N19&#34;)。保护&#34;密码&#34;,UserInterfaceOnly:= True
答案 1 :(得分:1)
使用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
然后再保护他们。