本文将教你如何在Windows或macOS系统中取消保护Excel工作表。如果工作表设有密码,你可以用谷歌工作表或VBA脚本(在Excel早期版本中可用)来取消保护。 在Excel中打开一个包含受保护工作表的工作簿。在电脑上双击文件名即可打开。
方法 1 :使用Excel软件
1、在Excel中打开一个包含受保护工作表的工作簿。
在电脑上双击文件名即可打开。
2、右击受保护工作表的选项卡。
工作表的标签都位于Excel底部。在某些Excel版本中,受保护的工作表通常会有一个挂锁图标。右击该表标签(或挂锁图标)打开右键菜单。
- 如果有多张工作表受保护,需要分别移除保护。
3、点击取消保护工作表
。如果工作表没有密码保护,应该会立即解锁;否则会提示你在弹出窗口输入密码。
4、输入密码并点击确定
。如果密码正确,工作表将取消保护。
- 如果你不知道密码,可以查看使用谷歌工作表的方法。这个方法需要将文件上传到谷歌工作表中,同时移除在Excel中的所有保护。
- 如果你使用的是Excel 2010或更早的版本,又不想上传到谷歌工作表,可以试试在Excel 2010及更早版本中使用VBA代码。
方法 2 :上传到谷歌工作表
1、在浏览器中打开 https://drive.google.com
。如果你有谷歌帐户,可以用谷歌工作表(一款类似Excel的免费在线应用程序)移除工作簿中所有工作表的保护,即使不知道密码也可以。
- 如果还没有登录谷歌帐户,按照屏幕上的指引登录。
- 如果你还没有谷歌帐户,可以参看如何创建Google帐户。
2、点击+ 新建
。该项位于页面左上角。
3、点击文件上传
。点击后会打开电脑的“打开”面板。
4、选中要编辑的Excel文件并点击打开
。点击后会将文件上传至谷歌云端硬盘(Google Drive)。
5、在谷歌云端硬盘中双击Excel文件。
可能需要下滑才能找到该文件。点击后会打开文件的预览。
6、点击打开方式
菜单。该项位于预览页面的顶部,点击后会展开一个菜单。
7、点击谷歌工作表
。现在该文件可以在谷歌工作表中进行编辑,之前在Excel中添加的所有保护都会被移除。
8、将文件重新下载到电脑。
如果你想在Excel而不是谷歌工作表中继续编辑该文件,可以下载这个没有保护的工作簿,步骤如下:
- 点击工作表左上角的文件菜单。
- 点击下载为。
- 点击Microsoft Excel (.xlsx) 。
- 选择一个文件夹保存文件。如果你不想破坏源文件(即包含受保护工作表的文件)的完整性,可以重命名这个新文件。
- 点击保存下载文件。
方法 3 :在Excel-2010及更早版本中使用VBA代码
1、在Excel中打开一个包含受保护工作表的工作簿。
可以在电脑中双击文件名打开。Excel文件的扩展名通常以.xls或.xlsx结尾。
- 如果你已经试过用Excel取消保护工作表,但是工作表有密码保护,而你又不知道密码,可以使用这个方法。
- 该方法不适用于Excel 2013及之后的版本。
2、将文件重新保存为xls格式。
如果你编辑的文件扩展名为“.xlsx”(如果是在更新版本的Excel中创建或编辑的文件通常是这个格式),需要先将文件转换成Excel 97-2003(.xls)格式,才能使用这个方法。以下是格式转换的步骤:
- 点击右上角的文件菜单。
- 点击另存为。
- 前往要保存文件的文件夹。
- 从“另存为格式”或“文件格式”菜单中选择Excel 97-2003 (.xls)。
- 点击保存。
- 按照屏幕上的提示进行必要的转换。
3、按下Alt+F11
打开Visual Basic编辑器。
4、在“工程-VBA工程”面板中右击工作簿的文件名。
该项位于左边面板的顶部。一定要右击包含文件名(以“.xls结尾”)的选项,该项应该位于顶部。点击后会展开一个菜单。
5、点击菜单中的插入
。点击后会展开另一个菜单。
6、点击模块
。点击后会插入一个新模块,用于粘贴代码。
7、复制代码。
选中该文本后面的代码,然后按下Ctrl+C(PC)或者? Command+C进行复制:
Sub PasswordBreaker()
Breaks worksheet password protection.
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "Password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
8、右击新模块并选择粘贴
。复制好的代码会出现在模块窗口中。
9、按下F5
运行代码。Excel将会运行该代码,可能需要几分钟时间。代码完成运行后,会在弹出窗口显示一个新密码。
- 新密码会是一个随机数字,而不是原密码。
10、在密码的弹出窗口中点击确定
。此时会出现一个新密码,但无需记下。点击确定会自动移除工作表的保护。
- 如果之前需要将文件转换成更早的格式,现在可以重新将工作簿保存为 .xlsx格式。