我有一个EXCEL表各格,里面有100多个sheet表格,都用相同的密码锁住了,如何一次将所有表格的密码解开,
答案:4 悬赏:60 手机版
解决时间 2021-03-26 00:27
- 提问者网友:半生酒醒
- 2021-03-25 10:59
我有一个EXCEL表各格,里面有100多个sheet表格,都用相同的密码锁住了,如何一次将所有表格的密码解开,
最佳答案
- 五星知识达人网友:第幾種人
- 2021-03-25 12:14
把代码复制到你的宏模块下;把代码中123的地方,改成你工作表的密码。运行即可;
Sub test()
Dim sh
For Each sh In ThisWorkbook.Sheets
sh.Unprotect (123)
Next sh
End Sub
Sub test()
Dim sh
For Each sh In ThisWorkbook.Sheets
sh.Unprotect (123)
Next sh
End Sub
全部回答
- 1楼网友:枭雄戏美人
- 2021-03-25 14:44
需要什么经验
- 2楼网友:冷風如刀
- 2021-03-25 14:36
用宏可以解决。不过有点奇怪,如果密码都一样,为什么不在工作簿加密,而要一个表格一个表格加密呢
- 3楼网友:罪歌
- 2021-03-25 13:39
通过VBA代码解决。
首先你得启用宏才行。启用宏的办法:
Excel2003:工具→宏→安全性,将宏安全性设为低。保存并关闭工作簿,重新打开。
Excel2007: 左上角圆形Office按钮→右下角Excel选项→信任中心→信任中心设置→宏设置,启用所有宏。保存并关闭工作簿,重新打开。(宏设置要重启Excel才生效)
Excel2007以上版本也差不多,可以在Excel帮助中搜“宏设置”看方法。
不要担心“不推荐”这个字眼。我提供的代码绝对安全的。完成宏设置后按如下操作:
1) 下载附件工作簿
2) 打开你的工作簿,并打开附件工作簿(此时只能看到你的工作簿,附件工作簿是不可见的)
3)按快捷键Ctrl+Shift+K,会要求你输入密码。输入密码后确定。
4)Excel会自动取消你工作簿所有表格的保护,并告知成功多少,如果有失败的则告诉你那些失败。
具体代码如下,仅供参考,知不知道无所谓。Sub UnProtectSheet()
Dim strCode, sht As Worksheet, strInfo As String
Dim n As Integer, k As Integer
strCode = Application.InputBox(prompt:="请输入密码:")
If strCode = False Then Exit Sub
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
sht.Unprotect strCode
If Err.Number > 0 Then
Err.Clear
k = k + 1
strInfo = strInfo & Chr(10) & sht.Name
Else
n = n + 1
End If
Next sht
MsgBox prompt:="共有" & n & _
"个工作表取消保护成功,失败" & k & "个:" & Chr(10) & strInfo
End Sub
如果上锁,按如下修改:
第8行改为:sht.Protect strCode
第17行改为:
MsgBox prompt:="共有" & n & _
"个工作表保护成功,失败" & k & "个:" & Chr(10) & strInfo
但是以上不够严谨,因为工作表保护只对锁定的单元格生效,还应该在第8行前加一行:sht.Cells.Locked = True
以上仅供参考。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯