VBA 事件 - 如果选中,则解锁受保护工作表中的单元格
Posted
技术标签:
【中文标题】VBA 事件 - 如果选中,则解锁受保护工作表中的单元格【英文标题】:VBA event - Unlock cell in protected sheets if selected 【发布时间】:2015-02-04 14:37:58 【问题描述】:我的单元格包含一个验证下拉列表,如果我单击该单元格,如何让我的 VBA 解锁它?
否则,我尝试在运行受保护的宏后简单地解锁特定单元格,但它不起作用:
Sub ProtectAll()
Dim sh As Worksheet
Dim MyPassword As String
MyPassword = "test"
For Each sh In ActiveWorkbook.Worksheets
sh.Protect Password:=MyPassword
Next sh
ThisWorkbook.Sheets("WACC1").Unprotect
ThisWorkbook.Sheets("WACC1").Range("C4").Locked = False
ThisWorkbook.Sheets("WACC1").Protect
End Sub
希望大家帮忙。
提前致谢!
【问题讨论】:
【参考方案1】:你几乎得到了答案 只需提供解锁密码并确保工作表处于活动状态
Activesheet.Unprotect MyPassword
【讨论】:
【参考方案2】:您可以使用 userinterfaceonly 选项来保护工作表,但允许通过宏进行任何编程更改。
ThisWorkbook.Sheets("WACC1").Protect Password:=MyPassword, UserInterfaceOnly:=True
【讨论】:
以上是关于VBA 事件 - 如果选中,则解锁受保护工作表中的单元格的主要内容,如果未能解决你的问题,请参考以下文章
我需要在 Excel 文件中打开受密码保护的 VBA 项目 [重复]