如何修复损坏的工作簿
打开已损坏的工作簿时,Excel 将自动启动“文件恢复”模式,还会尝试重新打开并同时修复工作簿。
Excel 并非总能自动启动“文件恢复”模式。 如果无法打开已损坏的工作簿,可尝试手动修复工作簿。
修复工作簿不成功时,还可尝试其他方法来恢复工作簿数据。 作为预防措施,建议经常保存工作簿并在每次保存时创建一个备份副本。 或者可指定 Excel 在特定时间间隔自动创建恢复文件。 这样,即使原始工作簿被意外删除或损坏,你也有权访问完好的工作簿副本。
手动修复损坏的工作簿
在“文件”选项卡上,单击“打开”。
在 Excel 2013 或 Excel 2016 中,单击电子表格所在的位置,然后单击"浏览"。
在“打开”对话框中,选择要打开的已损坏工作簿。
单击“打开”按钮旁边的箭头,然后单击“打开并修复”。
请执行下列操作之一:
要尽可能多地恢复工作簿数据,请单击“修复”。
若要在尝试修复工作簿失败时从工作簿提取值和公式,请单击“提取数据”。
从损坏的工作簿恢复数据
下列方法有助于挽救可能会丢失的数据。 如果一种方法不成功,可尝试另一种。 如果使用这些方法无法恢复数据,还可用第三方软件解决方案尝试恢复工作簿数据。
重要: 如果磁盘错误或网络错误导致无法打开工作簿,请在尝试使用下列任意恢复选项之前,将工作簿移至不同的硬盘驱动器,或从网络移至本地磁盘。
若要在工作簿在 Excel 中打开时恢复数据,请执行以下操作之一:
将工作簿恢复到最后一次保存的版本 如果在编辑工作表时工作簿在保存更改之前损坏,可以通过将其还原到上次保存的版本来恢复原始工作表。
若要将工作簿还原为上次保存的版本,请执行以下操作:
将工作簿保存为 SYLK (符号链接) 格式 将工作簿保存为 SYLK 格式,可以筛选出损坏的元素。 SYLK 格式通常用于消除打印机损坏。
若要以 SYLK 格式保存工作簿,请执行以下操作:
单击“文件”选项卡,然后单击“另存为”。
在“保存类型”列表中,单击“SYLK(符号链接)”,然后单击“保存”。
注意: 使用 SYLK 文件格式时,仅会保存工作簿中的活动工作表。
如果消息提示所选文件类型不支持包含多个工作表的工作簿,请单击“确定”,以仅保存活动工作表。
如果消息提示工作簿可能包含与 SYLK 格式不兼容的功能,请单击“是”。
在“文件”选项卡上,单击“打开”。
选择保存的 .slk 文件,然后单击“打开”。
注意: 若要查看 .slk 文件,请单击“文件类型”列表中的“所有文件”或“SYLK 文件”。
在“文件”选项卡上,单击“另存为”。
在“保存类型”框中,单击“Excel 工作簿”。
在“文件名”框中键入工作簿的新名称以创建副本,而不替换原始工作簿,然后单击“保存”。
注意: 由于此格式仅会保存工作簿中的活动工作表,因此必须重复打开损坏的工作簿并分别保存每个工作表。
在“文件”选项卡上,单击“打开”。
双击在 Excel 中打开的工作簿的名称。
单击“是”,重新打开该工作簿。
注意: 工作簿将还原为上次保存的工作簿版本。 这将放弃所有可能导致工作簿损坏的更改。 有关如何恢复工作簿早期版本的详细信息,请参阅自动保存和恢复 Office 文件。
若要在无法在 Excel 中打开工作簿时恢复数据,请执行以下操作之一:
将 Excel 中的计算选项设置为手动 若要打开工作簿,请尝试将计算设置从"自动"更改为"手动"。 因为这样不会重新计算工作簿,或许能够打开它。
若要将 Excel 中的计算选项设置为手动,请执行以下操作:
在“文件”选项卡上,单击“新建”。
在“可用模板”下,单击“空白工作薄”。
使用外部引用链接到损坏的工作簿 如果只想从工作簿中检索数据,而不是公式或计算值,可以使用外部引用链接到损坏的工作簿。
若要使用外部引用链接到损坏的工作簿,请执行以下操作:
使用宏从损坏的工作簿中提取数据 如果图表链接到损坏的工作簿,您可以使用宏来提取图表的源数据。
若要使用宏,请执行以下操作:
在模块工作表中输入下面的宏代码:
Sub GetChartValues()
Dim NumberOfRows As Integer
Dim X As Object
Counter = 2
' Calculate the number of rows of data.
NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)
Worksheets("ChartData").Cells(1, 1) = "X Values"
' Write x-axis values to worksheet.
With Worksheets("ChartData")
.Range(.Cells(2, 1), _
.Cells(NumberOfRows + 1, 1)) = _
Application.Transpose(ActiveChart.SeriesCollection(1).XValues)
End With
' Loop through all series in the chart and write their values to
' the worksheet.
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
将新工作表插入工作簿中并将其重命名为 ChartData。
选择您要从中提取基础数据值的图表。
注意: 图表可以嵌入在工作表中或嵌入在单独的图表工作表中。
运行 GetChartValues 宏。
图表中的数据将置于 ChartData 工作表中。
在“文件”选项卡上,单击“打开”。
选择包含损坏工作簿的文件夹,复制损坏工作簿的文件名,然后单击“取消”。
单击“文件”选项卡,然后单击“新建”。
在“可用模板”下,单击“空白工作薄”。
在新工作簿的单元格 A1 中,键入“=文件名!A1”,其中“文件名”是在步骤 2 中复制的损坏工作簿的名称,然后按 ENTER。
提示: 必须只输入工作簿的名称 - 而不必键入文件扩展名。
如果出现“更新值”对话框,请选择损坏的工作簿,然后单击“确定”。
如果出现“选择工作表”对话框,请选择适当的工作表,然后单击“确定”。
选择单元格 A1。
在“开始”选项卡上的“剪贴板”组中,单击“复制”。
选择大小与损坏工作簿中包含数据的单元格区域大致相同的区域(从单元格 A1 开始)。
在“开始”选项卡上的“剪贴板”组中,单击“粘贴”。
保持单元格区域的选中状态,在“开始”选项卡的“剪贴板”组中,再次单击“复制”。
在“开始”选项卡的“剪贴板”组中,单击“粘贴”下的箭头,然后单击“粘贴值”下的“值”。
注意: 粘贴值可删除指向损坏的工作簿的链接,只保留数据。
在“文件”选项卡上,单击“选项”。
在“公式”类别中的“计算选项”下,单击“手动”。
单击“确定”。
在“文件”选项卡上,单击“打开”。
选择损坏的工作簿,然后单击“打开”。
确保在 Excel 中打开一个新的空白工作簿。 如果打开的不是空白工作簿,请执行以下操作:
需要保留本文链接地址:http://www.excelxx.com/shujufenxi/13959.html