表保护解锁VBA
我试图用密码保存工作表,但我不能用相同的密码解锁它,有人可以帮我解决这个问题。
Sub ClearData() ActiveSheet.Unprotect Password = "Kiran123" Sheets("Filter").Select Range("A11").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Clear Sheets("Filter").Select Range("C3").Select Selection.Clear ActiveSheet.Protect Password = "Kiran123" End Sub
感谢您检查这一点,但是当我已经尝试使用上面的代码(我的代码)不起作用。 但是,当你只用下面的sub试一下它的工作原理时,为什么这样的代码中含糊不清。 这是为什么发生的具体原因? 如果我可以得到一个代码来locking工作表的密码将是很好的。
Sub test() ActiveSheet.Protect Password:="Kiran123" ActiveSheet.Unprotect Password:="Kiran123" End Sub
通过使用,您可以从ActiveSheet切换焦点
Sheets("Filter").Select
相反,您可以保留对原始电子表格的参考,然后使用您的密码表去保护和保护的参考…
Sub ClearData() Dim ws As Worksheet Dim pw As String Set ws = ActiveSheet pw = "Kiran123" ws.Unprotect (pw) Sheets("Filter").Select Range("A11").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Clear Range("C3").Select Selection.Clear ws.Protect (pw) End Sub
这个分部为我工作:
Sub test() ActiveSheet.Protect Password:="Kiran123" ActiveSheet.Unprotect Password:="Kiran123" End Sub
这个原理是有效的,而你的子集没有,是我在我的分配一个命名的参数,而我认为你的子线中的行试图设置之前的等号等于后来,这是区别:=
和=
。 老实说,我有点惊讶你的子跑,它肯定没有为我跑。
ActiveSheet可能不是“筛选器”选项卡…
Worksheets("Filter").Unprotect Password = "Kiran123"
或者切换第二行和第三行你上面贴的代码:)