Excel formula 表中引用外部工作簿的公式在更新链接时会导致警告消息

Excel formula 表中引用外部工作簿的公式在更新链接时会导致警告消息,excel-formula,Excel Formula,如果我添加了引用其他工作簿的公式,并且该公式位于表中,则手动更新链接时会显示警告消息“警告:开放源代码以更新值” 我使用的是Excel 2010,但我也可以使用Excel 2013观察到同样的行为 复制行为的步骤: 创建名为a.xlsx的工作簿并将其保存到桌面 创建名为B.xlsx的工作簿并将其保存到桌面 打开B.xlsx并在任何电子表格上插入表格。在表格的任何列上,添加引用a.xlsx的公式,例如直接引用a.xlsx上单元格的公式 在“数据”选项卡上的“连接”组中,单击“编辑链接”。选择A.

如果我添加了引用其他工作簿的公式,并且该公式位于表中,则手动更新链接时会显示警告消息“警告:开放源代码以更新值”

我使用的是Excel 2010,但我也可以使用Excel 2013观察到同样的行为

复制行为的步骤:

  • 创建名为a.xlsx的工作簿并将其保存到桌面
  • 创建名为B.xlsx的工作簿并将其保存到桌面
  • 打开B.xlsx并在任何电子表格上插入表格。在表格的任何列上,添加引用a.xlsx的公式,例如直接引用a.xlsx上单元格的公式
  • 在“数据”选项卡上的“连接”组中,单击“编辑链接”。选择A.xlsx作为源并单击“更新值”。将显示警告消息“警告:开放源代码以更新值”

    尽管出现了警告消息,但所有值似乎都已更新,没有错误

    问题:此警告消息是虚假的,还是确实表明无法以任何方式更新链接值

    如上所述,这些值在我的测试中似乎已正确更新,但警告消息仍然有点令人不安,因为它可能表明我无法检测到某些问题


如果我泄露了详细信息,我可能会破坏正确的解释,但据我所知,这基本上是为了警告您,您在其中看到此消息的工作簿正在使用该工作簿中存储的值来表示其他工作簿中链接的值。如果另一个工作簿已关闭,则存储的值可能未因另一个工作簿中的更改而更新,因此请确保打开另一个工作簿以刷新链接

如果另一个工作簿当时实际处于打开状态,则我认为这可能是表的异常情况,或者可能是一个警告,以涵盖诸如指向“打开”数据透视表但可能未处于刷新状态的链接之类的情况


就带有警告的工作簿而言,数据是“干净”的,但它无法读取其他工作簿中的“脏”标志。

我只是一个新用户,我也经历过同样的事情-经过一些研究,我发现了这段代码- 我将其改编为我自己的工作簿,并将其粘贴到目标工作簿VBA中的“ThisWorkbook”对象中。 它所做的是临时打开/刷新/保存并关闭源应用程序。如果与源文件的连接正常,则更新不会花费太长时间,但在尝试在没有连接的情况下打开时一定要小心

Private Sub Workbook_Open()
Workbooks.Open ("C:\Users\address_of_source_workbook")

Dim i As Integer


For i = 1 To ActiveWorkbook.Connections.Count


ActiveWorkbook.Connections.Item(i).Refresh

Next i
Workbooks("name_of_source_workbook").Save
Workbooks("name_of_source_workbook").Close
End Sub
希望这有帮助