Excel链接(以一些彭博function作为input)不会更新,直到VBA完成

我有一个Excelinput工作簿A有一些基于内部工作表引用和彭博function加上一些计算领域的投入。

我有一个excel输出工作簿B,需要从A中检索信息,但是,如果在B的vba中打开工作簿A,它将不会更新链接信息,直到VBA完成调用。

A的input示例,A包含sheet1,sheet2,sheet3我想从sheet1单元格(1,1)中获取单元格,单元格(1,1)的内容为sheet2!cells(2,1),这个sheet2!单元格2,1)螨是基于另一个选项卡或一些彭博function调用input的参考的计算字段。

是否有办法validation工作簿A中的所有链接,以便我的工作簿B可以检索所有更新的信息。

我努力了

Application.Workbooks.Open FileName:=path_array(tmp), UpdateLinks:=3 Application.Calculate Application.RTD.ThrottleInterval = 0 Application.Run "RefreshAllStaticData" Application.Run "ConnectChartEvents" Application.Run "RefreshData" Application.Run "RefreshEntireWorkBook" DoEvents VBA Output looks like this: ABCDEFGHIJ 4.4% 2.1% 2.2% #VALUE! #VALUE! #VALUE! #VALUE! 11 5 #VALUE! Manual like this: ABCDEFGHIJ 4.4% 2.1% 2.2% 3.1% 4.2% 5.5% 3.4% 11 5 8.0% 

强制执行一些计算,使用VBA进行更新,但会返回#Value! 对于有额外参考层的领域。 如果我只是手动打开它,一切自动更新不到一秒钟。 一直在挣扎,为什么有这样的差异。 有没有办法,我的VBA时钟,直到这个input更新。 提前致谢

我不熟悉彭博社,但这里有三件事。

您可以使用Application.OnTime在工作簿B中延迟执行。 加载工作簿A,然后使用Application.OnTime在第二个或两个延迟中调用工作簿B中的第二个子,这应该允许工作簿A运行加载时运行的任何代码。

Application.RTD.RefreshData可能会有帮助。

更具体到你的问题,这里的答案有帮助吗? 如何刷新/加载Excel中的RTD彭博function(BDH)