问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

修复损坏的Excel工作簿:从数据恢复到预防措施

创作时间:
作者:
@小白创作中心

修复损坏的Excel工作簿:从数据恢复到预防措施

引用
1
来源
1.
https://learn.microsoft.com/zh-CN/office/troubleshoot/excel/opening-file-cause-error

当Microsoft Excel检测到打开的工作簿已损坏时,会自动启动文件恢复模式并尝试修复工作簿。如果文件恢复模式没有启动,可以尝试使用以下手动过程来恢复工作簿。

  1. 单击包含损坏工作簿的位置和文件夹。
  2. 在“打开”对话框中,选择损坏的工作簿。
  3. 单击“打开”按钮旁边的箭头,然后单击“打开并修复”。
  4. 为了尽可能多地恢复工作簿数据,选择“修复”。如果“修复”无法恢复数据,选择“提取数据”以从工作簿中提取值和公式。
  5. 如果自动修复和手动修复都无效,可以尝试其他恢复方法。还可以采取一些预防措施,例如自动保存工作簿的备份副本或定期创建恢复文件,以避免丢失工作。

从损坏的工作簿中恢复数据

选择以下方法之一来帮助恢复数据。如果一种方法不成功,可以尝试另一种方法。还可以尝试第三方软件解决方案来尝试恢复工作簿。

重要提示:如果由于磁盘错误或网络错误而无法打开工作簿,请将工作簿移动到不同的硬盘驱动器或本地磁盘,然后再尝试以下任何恢复选项。

当工作簿在Excel中打开时恢复数据

  • 将工作簿还原到最后保存的版本

如果在保存更改之前工作簿变得损坏,可以将工作簿还原到最后保存的版本:

  1. 双击在Excel中打开的工作簿的名称。
  2. 单击“是”以重新打开工作簿。

工作簿将打开,不会包含可能导致工作簿损坏的任何更改。

当无法在Excel中打开工作簿时恢复数据

  • 将Excel中的计算选项设置为手动

尝试将计算设置从自动更改为手动。因为工作簿不会被重新计算,所以可能会打开。

  1. 在“新建”下,单击“空白工作簿”。
  2. 在“公式”类别下,在“计算选项”中选择“手动”,然后单击“确定”。
  3. 定位并双击损坏的工作簿以打开它。
  • 使用外部引用链接到损坏的工作簿

如果只想检索数据而不检索公式或计算值,可以尝试使用外部引用链接到损坏的工作簿。

  1. 转到包含损坏工作簿的文件夹。
  2. 右键单击损坏工作簿的文件名,单击“复制”,然后单击“取消”。
  3. 在“新建”下,单击“空白工作簿”。
  4. 在新工作簿的A1单元格中,键入=文件名!A1,其中“文件名”是您在第3步中复制的损坏工作簿的名称,然后按Enter键。

注意:只需要输入工作簿的名称,不需要输入文件名扩展名。

  1. 如果“更新值”对话框出现,请选择损坏的工作簿,然后单击“确定”。
  2. 如果“选择工作表”对话框出现,请选择适当的表,然后单击“确定”。
  3. 选择单元格A1。
  4. 单击“主页”>“复制”,或按Ctrl+C。
  5. 选择一个区域,从A1单元格开始,其大小大约与损坏工作簿中包含数据的单元格范围相同。
  6. 单击“主页”>“粘贴”,或按Ctrl+V。
  7. 仍然选择该范围,再次单击“主页”>“复制”,或按Ctrl+C。
  8. 单击“主页”>“粘贴”箭头,在“粘贴值”下,单击“值”。

粘贴值将删除与损坏工作簿的链接,只保留数据。

  • 使用宏从损坏的工作簿中提取数据

如果图表链接到损坏的工作簿,可以尝试使用宏来提取图表的源数据。

  1. 复制以下宏代码并将其粘贴到模块表中:
Sub GetChartValues()
    Dim NumberOfRows As Integer
    Dim X As Object
    Counter = 2
    ' 计算数据行数。
    NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)
    Worksheets("ChartData").Cells(1, 1) = "X Values"
    ' 将x轴值写入工作表。
    With Worksheets("ChartData")
        .Range(.Cells(2, 1), _
        .Cells(NumberOfRows + 1, 1)) = _
        Application.Transpose(ActiveChart.SeriesCollection(1).XValues)
    End With
    ' 循环遍历图表中的所有系列并将它们的值写入工作表。
    For Each X In ActiveChart.SeriesCollection
        Worksheets("ChartData").Cells(1, Counter) = X.Name
        With Worksheets("ChartData")
            .Range(.Cells(2, Counter), _
            .Cells(NumberOfRows + 1, Counter)) = _
            Application.Transpose(X.Values)
        End With
        Counter = Counter + 1
    Next
End Sub
  1. 在您的工作簿中插入或删除一个工作表,右键单击其工作表标签,然后将其重命名为“ChartData”。
  2. 选择要从中提取底层数据值的图表。
    注意:图表可以嵌入在工作表上,也可以在单独的图表表上。
  3. 运行宏。
  4. 图表的数据将放在“ChartData”工作表上。

自动保存工作簿的备份副本

有了工作簿的备份副本,即使工作簿意外删除或损坏,您也将始终可以访问数据。

  1. 单击“计算机”,然后单击“浏览”按钮。
  2. 在“另存为”对话框中,单击“工具”旁边的箭头,然后单击“常规选项”。
  3. 在“常规选项”对话框中,选中“始终创建备份”复选框。

自动在设定间隔创建恢复文件

工作簿的恢复文件也有助于确保即使工作簿意外删除或损坏,您也可以访问数据。

  1. 在“保存”类别下,在“保存工作簿”中,选中“每隔保存自动恢复信息”复选框,然后输入分钟数。(默认值为“10”。)
  2. 在“自动恢复文件位置”框中,输入保存恢复文件的位置。
  3. 确保未选中“仅为此工作簿禁用自动恢复”复选框。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号