快速移除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