快速移除Excel工作表保护密码
如果你因为忘记了工作表保护密码而懊恼,那么下面的代码会帮到你。
在工作表中,按ALT+F11进入VBA窗口,菜单/插入/模块,将代码复制进去,按F5运行,搞定。
代码:
Option Explicit
''********************
''也许这是MS Excel的一个漏洞,只要将AllowFiltering设置为True,那么呵呵。
''在Excel 2003/2007下亲测有效
''********************
''取消全部工作表保护
Sub RemoveAllShtPwd()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In Sheets
''关键在这:允许用户使用工作表受保护之前设置的“自动筛选”
sh.Protect AllowFiltering:=True
sh.Unprotect
Next
Application.ScreenUpdating = True
MsgBox "已取消全部工作表保护"
End Sub
''取消指定工作表
Sub RemoveShtPwd()
''这里指定的是2020工作表
With Sheets("2020")
.Protect AllowFiltering:=True
.Unprotect
End With
MsgBox "已取消指定工作表保护"
End Sub
''对全部工作表设定保护密码
''如果工作表已有密码,则先运行一下RemoveAllShtPwd
Sub AddAllShtPwd()
Dim sh As Worksheet
''为常量指定密码为字符串 ''Asd123''
Const pwd As String = "Asd123"
Application.ScreenUpdating = False
For Each sh In Sheets
sh.Protect pwd
sh.Protect
Next
Application.ScreenUpdating = True
MsgBox "已对全部表作表设定密码保护"
End Sub