一个excel下面同时有多个工作表,每个都被保护了,请问怎样同时取消多个工作表的保护.一个一个修改太麻烦

 我来答
花儿恋风儿恋
推荐于2016-05-10 · TA获得超过300个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:102万
展开全部
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 弹出宏对话框,点“执行”按钮,弹出对话框,点“是”对其保护,点“否”取消保护。
猫之大神
2010-10-15 · TA获得超过6726个赞
知道大有可为答主
回答量:1681
采纳率:100%
帮助的人:1664万
展开全部
Sub test()
Dim sht As Worksheet
For Each sht In Worksheets
sht.Unprotect Password:="a1"
Next
End Sub
-----
将a1换成楼主设置的密码即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappDKb1NLAaIwtrk
2010-10-15 · TA获得超过1281个赞
知道小有建树答主
回答量:1074
采纳率:100%
帮助的人:1166万
展开全部
vba代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式