跳至主要内容

取消保护 Excel 工作表(有密码或无密码)

被工作表拦在门外了?了解最快的解决方法:从输入密码到解决“取消工作表保护”按钮变灰。
· 8分钟 阅读

使用 AI 探索

Excel 提供了一项功能,可将工作表锁定以防止不必要的更改。此功能旨在保护财务记录、报告或共享文件等重要数据。这样可以保持井然有序并避免出错,尤其是在多人使用同一文档时。

但有时我们需要更新信息而修改受保护的工作表,这只能在先取消保护之后进行。在本指南中,我将带您了解多种取消保护 Excel 工作表的方法,无论您是否拥有密码。

有密码时取消保护 Excel 工作表

当您拥有密码时,取消保护 Excel 工作表的方法:

  1. 转到功能区的“审阅”选项卡,然后单击“取消工作表保护”。
  2. 在弹窗中输入密码并单击“确定”。

此方法适用于单个工作表和整个工作簿。如果整个工作簿受保护,步骤类似。唯一的不同是,在“取消工作表保护”之外,您需要在“审阅”选项卡下单击“保护工作簿”,然后重复第 2 步。

使用已知密码在 Excel 中取消工作表保护。

使用密码取消工作表保护。图片来源:作者。

没有密码时取消保护 Excel 工作表

如果我们忘记了工作表的密码,或收到一个被锁定的Excel 工作表,可以尝试用几种方法来取消保护。需要了解的是,现代版本的 Excel 使用了不易绕过的高级加密,但下面要介绍的方法可能会有所帮助。

方法一:使用 VBA 代码

如果工作表受保护且我们没有密码,可以尝试使用 VBA 宏来解锁。这是一种穷举方式,可能只对简单密码有效。此外,遍历所有可能的组合可能需要较长时间,请耐心等待。

  1. 首先,将工作簿另存为旧版 Excel。依次转到“文件” > “导出” > “更改文件类型” > “Excel 97-2003”。

  2. 打开受保护的工作表,按 Alt + F11 打开“Visual Basic for Applications”(VBA)。

  3. 在左侧面板选择受保护的工作表(我的示例中为Employee Data),然后粘贴以下破解密码的宏。

Sub UnprotectSheet()
    Dim i As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer
    Dim password As String
    
    On Error Resume Next
    
    For i = 65 To 90
        For j = 65 To 90
            For k = 65 To 90
                For l = 65 To 90
                    For m = 65 To 90
                        For n = 65 To 90
                            password = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(n)
                            ActiveSheet.Unprotect password
                            If Err.Number = 0 Then
                                MsgBox "Sheet Unprotected! Password Found: " & password, vbInformation, "Success"
                                Exit Sub
                            End If
                        Next n
                    Next m
                Next l
            Next k
        Next j
    Next i
    
    MsgBox "Could not unlock the sheet.", vbExclamation, "Failed"
End Sub
  1. 单击“运行”或按 F5 运行宏并等待完成。宏会生成一个新密码,可能不是原始密码,但仍可解锁工作表。

  2. 单击“确定”,工作表将被取消保护。

完成后,如果之前更改了文件格式,请将其重命名回 .xlsx 以恢复完整功能。

在 Excel 中使用 VBA 宏取消工作表保护。

使用 VBA 宏破解密码。图片来源:作者。

在这个示例中,我在寻找一个我已知为 6 个字符长的密码。如果您对密码不太确定,就需要使用不同的 VBA 脚本。范围过大的脚本会耗时过久,而过于具体的脚本可能无效,因此可能需要多次尝试。

方法二:将文件扩展名改为 ZIP

如果 VBA 无效,或者您不想运行宏,还可以通过编辑文件的内部结构来移除工作表保护。Excel 文件本质上是包含多个 XML 文件的压缩文件夹,这意味着我们可以通过修改相应文件来解锁工作表。步骤如下:

  1. 先创建 Excel 文件的备份/副本。

  2. 在文件资源管理器中,右键单击复制的 Excel 文件,选择“重命名”,将扩展名从 .xlsx 改为 .zip。如果出现“重命名”弹窗,单击“是”确认。

在 Windows 资源管理器中将 xlsx 文件更改为 zip 文件。

将 xlsx 文件改为 zip 文件。图片来源:作者。

  1. 打开zip 文件,进入xl → worksheets 文件夹。在那里您会看到所有XML 文件。

在 Excel 的 zip 文件夹中定位 XML 文件。

在 zip 文件夹中找到 XML 文件。图片来源:作者。

  1. 找到受保护工作表的 XML 文件。如果不确定哪个工作表受保护,请用记事本或其他文本编辑器打开每个 XML 文件。按 Ctrl+F 搜索protection 一词。如果文件包含 <sheetProtection> 标签,说明该文件受保护。

  2. 现在删除整个 <sheetProtection> 标签,包括起始的 < 和结束的 >。按 Ctrl +S 保存文件。

在 Excel 中使用 zip 文件扩展名取消工作表保护。

使用 zip 文件扩展名取消工作表保护。图片来源:作者。

  1. 关闭文本编辑器时,确认任何关于在归档中保存修改的提示。然后关闭 ZIP 文件。

  2. 将文件扩展名从 .zip 改回 .xlsx。

Excel 会将工作表保护设置存储在这些 XML 文件中。通过移除 <sheetProtection> 标签,我们即可禁用锁定,而不会影响工作簿的其他部分。此方法快捷、无需编程,即使不知道密码也可行。

方法三:使用 Google 表格

如果您想用最简单的方式移除工作表保护——无需编码或修改文件——Google 表格是不错的选择。当您上传一个受保护的 Excel 文件时,Google 表格会自动移除工作表保护,以便我们自由编辑。

  1. 前往 Google 云端硬盘并上传被锁定的 Excel 文件。
  2. 右键单击文件,选择“打开方式” > “Google 表格”。
  3. Google 表格将打开该文件,并移除任何工作表保护。
  4. 进行所需的编辑。
  5. 若要将其另存为 Excel 文件,转到“文件” > “下载” > “Microsoft Excel(.xlsx)”。

由于 Google 表格对 Excel 的工作表保护功能支持方式不同,在转换文件时会自动移除限制。这是一个简单省心的解决方案。

如何一次性取消所有工作表保护

Excel 没有内置命令可一步取消所有工作表保护。当选择多个工作表标签时,“取消工作表保护”按钮也会呈灰色不可用。如果您知道密码,有三种选择。

对于少量工作表,请逐个取消保护。依次单击每个工作表标签,转到“审阅” > “取消工作表保护”,并输入密码。

对于共享同一密码的大量工作表,请使用一个简短的宏。

  1. 按 Alt + F11 打开 VBA 编辑器。
  2. 转到 Insert > Module,并粘贴下面的宏。
  3. 按 F5,然后在出现的对话框中输入密码。
Sub UnprotectAllSheets()
    Dim ws As Worksheet
    Dim pw As String
    pw = InputBox("Enter the sheet password:")
    For Each ws In ActiveWorkbook.Worksheets
        ws.Unprotect Password:=pw
    Next ws
End Sub

如果某个工作表使用了不同的密码,宏会报错停止;它会跳过未受保护的工作表。它不会影响图表工作表。完成后,将文件另存为 .xlsx,Excel 会移除宏。

类似 Kutools for Excel 的加载项也可以做到这一点,但需要安装第三方软件。

如何在受保护的工作表中解锁特定单元格

如果您希望工作表保持受保护状态,但仍能编辑特定单元格,可以这样操作:

假设我有一个数据集,我想与客户共享,让他们只能填写地址,不能编辑其他内容。为此,先使用上述任一方法取消工作表保护。然后按 Ctrl+A 或单击“全选按钮”选择整张工作表。接着按 Ctrl+1 打开“设置单元格格式”,转到“保护”选项卡,取消选中“锁定”选项。

在 Excel 中解锁工作表中的所有单元格。

解锁工作表中的所有单元格。图片来源:作者。

接下来,选择除“地址”列之外的所有列,将其锁定以防他人使用,再次打开“设置单元格格式”窗口 (Ctrl+1),在“保护”选项卡下勾选“锁定”选项。在“审阅”选项卡中选择“保护工作表”并输入密码。这样可以保护整个工作表,除了我解锁的部分,用户只能编辑特定区域。

提示:要选择不连续的行,请按住 Ctrl 键并选择单元格。要选择相邻的行或列,只需在列标题上拖动光标。

在 Excel 工作表中保护与取消保护特定单元格。

保护工作表中的特定单元格。图片来源:作者。

当您无法取消保护 Excel 工作表时

如果您无法取消保护 Excel 工作表,需要注意以下几点:

  • 无法移除加密:如果工作簿使用密码加密,在不知道密码的情况下无法移除。Excel 没有内置选项可绕过加密,如果您没有密码,就无法继续。
  • 复杂密码可能无法恢复:部分 VBA 脚本可以解锁受保护的工作表,但如果密码很强或安全性很高,则可能无效。如果脚本失败,其他手动方法也可能无效。
  • 编辑前请备份文件:在尝试任何操作之前,请保存文件的备份副本。如果出现问题,您可能会丢失数据,因为编辑 XML 文件或运行 VBA 宏可能会损坏文件。

为何 Excel 中“取消工作表保护”呈灰色不可用?

如果“取消工作表保护”呈灰色不可用,说明有某些因素在阻止该命令。请将您看到的情况与下面的问题对照,然后按对应方法解决。

  • 工作表未受保护:如果“审阅”选项卡显示“保护” “工作表”,而不是“取消保护” “工作表”,则没有内容需要取消保护。只有在启用工作表保护后,锁定单元格才会生效。如果仍无法编辑,请查看下面的其他问题。
  • 文件处于受保护视图:来自邮件或网页的文件通常会在顶部显示黄色栏提示“受保护视图”。单击“启用编辑”,按钮应会变为可用。
  • 文件被标记为最终状态:如果顶部的栏显示“标记为最终状态”,请单击“仍要编辑”。
  • 工作表被分组:当标题栏显示[组]时,Excel 会限制可执行的操作。右键单击任一被选中的标签,选择“取消工作表组合”。
  • 工作簿为共享状态:在旧版共享工作簿中,标题栏会显示[共享],此时无法保护或取消保护工作表。转到“审阅” > “共享工作簿(旧版)”,清除允许多个用户同时更改的复选框。
  • 单元格处于编辑模式:当光标在单元格中闪动时,功能区大部分按钮会变灰。请按 Enter 或 Esc,然后再次检查“审阅”选项卡。
  • 文件在浏览器或 Teams 中打开:当文件在浏览器或 Teams 中打开时,许多按钮可能被禁用。请选择“在桌面应用中打开”(或“在 Excel 中打开”),再尝试。
  • 以上都不符合:如果已排除以上情况,请关闭文件并以安全模式启动 Excel,这会禁用加载项。在 Windows 上,按住 Ctrl 启动 Excel,然后打开文件。一旦按钮可用,单击它并输入密码。

方法快速对比

这里有一张希望对您有帮助的表格,它总结了我们讨论的不同方法。

方法需要密码?难度适用于加密文件?最佳适用情形
审阅 > 取消工作表保护是简单是当您知道密码时
VBA 宏否中等否旧版 Excel 格式上的简单密码
ZIP 文件方法否中等否移除 .xlsx 文件中的工作表保护
Google 表格否简单否无需编码的快速修复

结语

如果您拥有密码,解决方法只需几次单击:“审阅” > “取消工作表保护”。如果按钮呈灰色不可用,通常是上述原因之一所致。

如果您丢失了自己文件的密码,上述方法可能对旧版或简单的保护有效,但现代 Excel 加密无法被绕过。使用密码管理器并为重要文件保留备份,可以避免下次再遇到麻烦。

请仅在您拥有或获得明确授权的文件上使用这些方法。未经许可绕过保护可能违反公司政策、服务条款,甚至触犯法律。对于工作文件,请联系您的 IT 团队。

如果您想进一步学习数据相关知识,我推荐 Data Analysis in Excel 课程和 Data Preparation in Excel 课程。它们将帮助您更高效地组织和分析数据。

Laiba Siddiqui

作者

Laiba Siddiqui

我是内容策略专家,热衷于将复杂主题化繁为简。我曾帮助 Splunk、Hackernoon 和 Tiiny Host 等公司为其受众打造兼具吸引力与信息量的内容。

常见问题

我可以将受保护的 Excel 工作表中的数据复制到另一个工作表吗?

可以,在工作表允许“选择锁定单元格”和“选择未锁定单元格”的情况下。使用 Shift + Ctrl + End 选中所有已用单元格,按 Ctrl + C 复制,然后在新工作表中按 Ctrl + V 粘贴。指向其他工作簿的外部链接可能会断开,需要手动重新创建。

如何在 Excel 工作表中查找锁定或未锁定的单元格?

您可以使用 CELL() 函数检查单元格是锁定还是未锁定。

  • 在任意单元格输入公式:=CELL("protect", A1)

  • 如果返回 1(TRUE),则该单元格被锁定;返回 0(FALSE)表示未锁定。

如何在 Excel 中高亮显示锁定或未锁定的单元格?

您可以使用条件格式来高亮显示锁定或未锁定的单元格:

  • 首先,取消工作表保护。

  • 选择要检查的区域。

  • 转到“开始 > 条件格式 > 新建规则”。

  • 使用以下公式:

            锁定单元格: =CELL("protect", A1)=1

            未锁定单元格: =CELL("protect", A1)=0

  • 选择一种高亮颜色并应用规则。

主题