Application.CalculateUntilAsyncQueriesDone 崩溃 Excel
Application.CalculateUntilAsyncQueriesDone Crashes Excel
我有一个在 Power-BI 服务上发布的 OLAP 数据模型。我使用 CUBE
公式构建了一份报告。我需要根据 CUBEVALUE
结果做一些隐藏和显示列。我需要为一大堆切片器选择打印 PDF。当然,我需要我的 VBA Sub 等待所有 CUBE
公式完成刷新。
我知道 Application.CalculateUntilAsyncQueriesDone
方法会让我等到刷新完成。然而,在 Excel 2016 年,它似乎崩溃了 excel。它只是无限期地等待。
Excel 版本:Microsoft Excel for Microsoft 365 MSO (16.0.13001.20254) 64 位
我遇到了与 Power-Query 查询相同的问题,但是在调用 Application.CalculateUntilAsyncQueriesDone
之前将所有查询的 BackgroundQuery
属性 设置为 FALSE
解决了崩溃问题.遗憾的是,对于 OLAP 数据连接,BackgroundQuery
属性 无法设置为 FALSE
。
以下技巧也没有用:
Do Until Application.CalculationState = xlDone
Loop
刷新开始有点晚,在那段时间 Application.CalculationState
是 xlDone
,代码甚至不等待刷新开始。如果我使用 Application.Wait
方法,Query 也会等待刷新。
这只是在我的电脑上吗?或者,你们所有人都面临 Application.CalculateUntilAsyncQueriesDone
的问题吗?
您是如何解决这个问题的?
我一直遇到类似的问题,但我所有问题的共同点是 Application.Calculation
在触发 CalculateUntilAsyncQueriesDone
时设置为 xlCalculationManual
。在此之前,我尝试了一系列Calculate
、CalculateFull
和CalculateFullRebuild
都没有用。
您可能需要执行如下操作才能使您的脚本正常工作:
With Application
.Calculation = xlCalculationAutomatic
.CalculateUntilAsyncQueriesDone
Do Until .CalculationState = xlDone
Loop
.Calculation = xlCalculationManual
End With
我有一个在 Power-BI 服务上发布的 OLAP 数据模型。我使用 CUBE
公式构建了一份报告。我需要根据 CUBEVALUE
结果做一些隐藏和显示列。我需要为一大堆切片器选择打印 PDF。当然,我需要我的 VBA Sub 等待所有 CUBE
公式完成刷新。
我知道 Application.CalculateUntilAsyncQueriesDone
方法会让我等到刷新完成。然而,在 Excel 2016 年,它似乎崩溃了 excel。它只是无限期地等待。
Excel 版本:Microsoft Excel for Microsoft 365 MSO (16.0.13001.20254) 64 位
我遇到了与 Power-Query 查询相同的问题,但是在调用 Application.CalculateUntilAsyncQueriesDone
之前将所有查询的 BackgroundQuery
属性 设置为 FALSE
解决了崩溃问题.遗憾的是,对于 OLAP 数据连接,BackgroundQuery
属性 无法设置为 FALSE
。
以下技巧也没有用:
Do Until Application.CalculationState = xlDone
Loop
刷新开始有点晚,在那段时间 Application.CalculationState
是 xlDone
,代码甚至不等待刷新开始。如果我使用 Application.Wait
方法,Query 也会等待刷新。
这只是在我的电脑上吗?或者,你们所有人都面临 Application.CalculateUntilAsyncQueriesDone
的问题吗?
您是如何解决这个问题的?
我一直遇到类似的问题,但我所有问题的共同点是 Application.Calculation
在触发 CalculateUntilAsyncQueriesDone
时设置为 xlCalculationManual
。在此之前,我尝试了一系列Calculate
、CalculateFull
和CalculateFullRebuild
都没有用。
您可能需要执行如下操作才能使您的脚本正常工作:
With Application
.Calculation = xlCalculationAutomatic
.CalculateUntilAsyncQueriesDone
Do Until .CalculationState = xlDone
Loop
.Calculation = xlCalculationManual
End With