VBA事件 - 如果选中,则解锁受保护工作表中的单元格

时间:2014-12-06 14:17:38

标签: excel vba protected

我的单元格包含验证下拉列表,如果单击单元格,如何让我的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

希望你们能帮忙。

提前致谢!

2 个答案:

答案 0 :(得分:3)

你几乎得到了答案 只需提供密码即可解锁并确保工作表处于活动状态

   Activesheet.Unprotect MyPassword 

答案 1 :(得分:0)

您可以使用userinterfaceonly选项来保护工作表,但允许任何程序更改,例如宏。

ThisWorkbook.Sheets("WACC1").Protect Password:=MyPassword, UserInterfaceOnly:=True