一个excel下面同时有多个工作表,每个都被保护了,请问怎样同时取消多个工作表的保护.一个一个修改太麻烦
3个回答
展开全部
Sub 对所有工作表保护或撒消保护()
M = MsgBox("以前已保护的工作表密码不变,若要统一密码请先撒消已保护的工作表。" & Chr(10) & "选[是]对所有工作表进行保护,选[否]对所有工作表撒消保护。", vbYesNoCancel)
If M = vbYes Then
a = InputBox("请输入工作表保护密码:")
For N = 1 To Worksheets.Count
Worksheets(N).Protect Password:=a, DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
End If
If M = vbNo Then
Line1: a = InputBox("请输入工作表撒消保护密码:")
For N = 1 To Worksheets.Count
On Error Resume Next
Worksheets(N).Unprotect Password:=a
If Err.Number <> 0 And E = 0 Then
E = N
End If
Next
If E <> 0 Then
Worksheets(E).Select
E = 0
M = MsgBox("对于此表密码不正确,是否重新输入?", vbYesNo)
If M = vbYes Then GoTo Line1
End If
End If
End Sub
上述代码可以选择性实现同时保护,和同时撤销保护,
具体操作如下:
1、 ALT+F11进入VB,菜单中选“插入”—>“模块”,然复制上述代码 粘入 窗口中,关闭VB回到EXCEL。
2、 ALT+F8 弹出宏对话框,点“执行”按钮,弹出对话框,点“是”对其保护,点“否”取消保护。
M = MsgBox("以前已保护的工作表密码不变,若要统一密码请先撒消已保护的工作表。" & Chr(10) & "选[是]对所有工作表进行保护,选[否]对所有工作表撒消保护。", vbYesNoCancel)
If M = vbYes Then
a = InputBox("请输入工作表保护密码:")
For N = 1 To Worksheets.Count
Worksheets(N).Protect Password:=a, DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
End If
If M = vbNo Then
Line1: a = InputBox("请输入工作表撒消保护密码:")
For N = 1 To Worksheets.Count
On Error Resume Next
Worksheets(N).Unprotect Password:=a
If Err.Number <> 0 And E = 0 Then
E = N
End If
Next
If E <> 0 Then
Worksheets(E).Select
E = 0
M = MsgBox("对于此表密码不正确,是否重新输入?", vbYesNo)
If M = vbYes Then GoTo Line1
End If
End If
End Sub
上述代码可以选择性实现同时保护,和同时撤销保护,
具体操作如下:
1、 ALT+F11进入VB,菜单中选“插入”—>“模块”,然复制上述代码 粘入 窗口中,关闭VB回到EXCEL。
2、 ALT+F8 弹出宏对话框,点“执行”按钮,弹出对话框,点“是”对其保护,点“否”取消保护。
展开全部
Sub test()
Dim sht As Worksheet
For Each sht In Worksheets
sht.Unprotect Password:="a1"
Next
End Sub
-----
将a1换成楼主设置的密码即可。
Dim sht As Worksheet
For Each sht In Worksheets
sht.Unprotect Password:="a1"
Next
End Sub
-----
将a1换成楼主设置的密码即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vba代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询