约翰有大量的工作簿中都有链接,并且它们越来越大。他想知道Excel是否可以通过任何方式将链接转换为从这些链接获取的数据,以便他可以存档旧工作簿。

可以尝试的一件事是打开包含链接的工作簿,然后使用Excel的工具断开链接。确保保留工作簿的备份(以防万一),并按照以下步骤操作:

。显示功能区的“数据”选项卡。

。单击“连接”组(Excel 2007,Excel 2010或Excel 2013)或“查询和连接”组(Excel 2016及更高版本)中的“编辑链接”工具。 Excel将显示“编辑链接”对话框。 (请参见图1。)

。在对话框中选择链接。

。单击“断开链接”,然后确认您确实要断开选定的链接。

。单击确定。

结果是所有链接都被删除,但是最后通过链接检索的值仍保留在工作簿中。

另一种方法是使用选择性粘贴“覆盖”您的链接。

(如果工作表中的链接数量有限,这将非常有用。)

请按照下列步骤操作:

。选择包含链接的单元格。

。按Ctrl + C。

。显示“选择性粘贴”对话框。 (在功能区的“主页”选项卡上,单击“粘贴”工具下的向下箭头,然后选择“选择性粘贴”。)

(请参见图2。)

。单击值单选按钮。

。单击确定。

如果您的工作簿中有很多链接,那么您将需要使用宏来断开链接。以下是执行中断的简单宏的示例:

Sub BreakLinks()

Dim aLinksArray As Variant

aLinksArray = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)

Do Until IsEmpty(aLinksArray)

ActiveWorkbook.BreakLink Name:=aLinksArray(1), _           Type:=xlLinkTypeExcelLinks         aLinksArray = _           ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)

Loop End Sub

不过,请务必记住,链接可能很棘手。到其他工作簿的链接可以是公式,名称,图表,文本框和其他对象(可见和隐藏),以及公式和这些对象内的不同组合。获取并断开所有链接取决于您工作簿的复杂性。如果您有复杂的工作簿,则可以使用Excel MVP Bill Manville创建的FindLink加载项,从而从中受益。您可以在这里找到它:

http://www.manville.org.uk/software/findlink.htm

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(7566)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: