Excel 如何强制VBA宏等待ActiveWorkbook.RefreshAll

Excel 如何强制VBA宏等待ActiveWorkbook.RefreshAll,excel,vba,powerquery,Excel,Vba,Powerquery,我已经看了这里的回复:,尝试了所有的方法,但没有任何效果。 我试过: 禁用后台刷新,这里的问题是单个查询的执行时间将永远花费 Wait方法,Wait方法暂停refresh all方法,这会破坏目的 我也尝试刷新后,但没有触发它 我有71个在“刷新全部”上运行的电源查询。这些查询的结果在隐藏的工作表中,我有一个主工作表,其中包含指向隐藏工作表中各个单元格的链接。正如我提到的,所有剩余的纸张都隐藏了 到目前为止,还没有办法在刷新过程之后自动化整个体验。我必须介入并手动完成这项工作 我需要一种方法告诉

我已经看了这里的回复:,尝试了所有的方法,但没有任何效果。 我试过:

  • 禁用后台刷新,这里的问题是单个查询的执行时间将永远花费
  • Wait方法,Wait方法暂停refresh all方法,这会破坏目的
  • 我也尝试刷新后,但没有触发它
  • 我有71个在“刷新全部”上运行的电源查询。这些查询的结果在隐藏的工作表中,我有一个主工作表,其中包含指向隐藏工作表中各个单元格的链接。正如我提到的,所有剩余的纸张都隐藏了

    到目前为止,还没有办法在刷新过程之后自动化整个体验。我必须介入并手动完成这项工作

    我需要一种方法告诉VBA在刷新所有这些查询并返回结果之前不要执行以下代码


    请帮忙

    可能是这样的:
    如果不是Application.CalculationState=xlDone那么DoEvents
    ,这样行吗?如果这对你不起作用,也许把它放在一个
    Do中,直到
    loopUse:
    应用程序。CalculateUntilAsyncQueriesDone
    @Rory,就是这个=)谢谢你@JvdV,我不确定是否会,我需要更多关于我应该在哪里插入这段代码的信息?谢谢一百万@Rory,你的建议就在,我能够触发RefreshAll方法,并在刷新完成之前保持后续行的执行。