当我们在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
??? 然后运行代码,在“定义名称”对话框或“名称管理器”中就可以显示工作簿内的所有名称,在其中找到包含错误链接的名称,修改错误链接的源工作簿或删除名称即可。
……