当我们在Excel工作表中引用了其他工作簿中的数据,如某个单元格引用了其他工作簿“Sheet4”表A2单元格的数据“='F:\2011\[2011-7-9.xls]Sheet4'!$A$2”,每次打开这个包含链接的工作簿,且源工作簿处于关闭状态时,Excel默认会弹出一个对话框提示“此工作簿包含到其他数据源的链接”:
正常情况下,单击“更新”按钮会更新数据。但有时会遇到这种情况,每次打开包含链接的工作簿并单击“更新”按钮后,Excel会接着弹出一个对话框,提示“此工作簿内包含一个或多个无法更新的链接”,如图:
出现这种情况的原因正如对话框中的提示所述,工作簿中包含了错误的链接而无法更新,这时可以从下面的几个方面查找这些错误的链接。
一、工作表中包含错误的链接
由于某种原因,源工作簿或其中某个被引用的工作表被移动、改名或删除,打开包含链接的工作簿时就无法更新链接。在上述对话框中单击“编辑链接”,弹出“编辑链接”对话框,可以查看链接错误的原因。
要找到这些包含错误链接的单元格,可以用下面的方法:
1.按Ctrl+F,打开“查找和替换”对话框,单击“选项”按钮。
2.在“查找范围”后选择“工作簿”。
3.在“查找内容”后输入“[”或“]”。
4.单击“查找全部”按钮,Excel会在对话框的下部显示所有包含链接的单元格地址。
从这些包含链接的单元格中找出包含错误链接的单元格,删除或修改公式即可。
二、定义的名称中包含错误的链接
如果在单元格中包含正确的链接,但工作簿定义的名称中包含了错误的链接,如下图中,名称“bs”所引用的工作簿“2011-9-20.xls”已被改名或删除,也会出现上述情况。这时可在Excel 2003“定义名称”对话框或Excel 2007/2010“名称管理器”中找到包含错误链接的名称进行修改。
Excel 2003:单击菜单“插入→名称→定义”,打开“定义名称”对话框。
Excel 2007/2010:在“公式”选项卡中单击“名称管理器”,弹出“名称管理器”对话框。
三、隐藏的名称中包含错误的链接
由于某种原因,工作簿内所定义的全部或部分名称被隐藏了,这时在“定义名称”对话框或“名称管理器”中看不到包含错误链接的名称。如果工作表的单元格中包含了有效链接,在源工作簿关闭的情况下,每次打开目标工作簿单击“更新”按钮后就会提示“此工作簿内包含一个或多个无法更新的链接”。由于工作表中的链接都是正确的,“定义名称”对话框或“名称管理器”中也没有发现错误的链接,因而不易找到问题的所在。解决的方法是:
先用VBA代码将被隐藏的名称显示出来:
1.按Alt+F11,打开VBA编辑器。
2.在代码窗口中输入下列代码:
Sub 显示隐藏的名称()
For Each TheName In ActiveWorkbook.Names
TheName.Visible = True
Next
End Sub
然后运行代码,在“定义名称”对话框或“名称管理器”中就可以显示工作簿内的所有名称,在其中找到包含错误链接的名称,修改错误链接的源工作簿或删除名称即可。