首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Application.CalculateUntilAsyncQueriesDone破解Excel

Application.CalculateUntilAsyncQueriesDone破解Excel
EN

Stack Overflow用户
提问于 2020-07-19 08:45:49
回答 1查看 3.3K关注 0票数 3

我有一个OLAP数据模型,它发布在Power服务上。我使用CUBE公式构建了一个报告。我需要根据CUBEVALUE结果隐藏和显示列。我需要打印一整堆切片选择的PDF格式。当然,我需要我的VBA等待直到所有的CUBE公式完成刷新。

我知道Application.CalculateUntilAsyncQueriesDone方法会让我等到刷新完成。然而,在excel 2016中,它似乎让Excel崩溃了。它只是在无限期地等待。

Excel版本:MicrosoftExcelforMicrosoft365MSO (16.0.13001.20254) 64位

我在Power查询中也遇到了同样的问题,但是在调用BackgroundQuery之前将所有查询的FALSE属性设置为Application.CalculateUntilAsyncQueriesDone解决了崩溃问题。不幸的是,对于OLAP数据连接,BackgroundQuery属性不能设置为FALSE

以下技术也不起作用:

代码语言:javascript
运行
复制
Do Until Application.CalculationState = xlDone
Loop

刷新开始得有点晚,在此期间,Application.CalculationStatexlDone,而代码只是不等待刷新启动。如果使用Application.Wait方法,查询也将等待刷新。

就在我的电脑上吗?或者,你们都面临着Application.CalculateUntilAsyncQueriesDone的问题吗?你是如何解决这个问题的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-30 01:48:16

我也有过类似的问题,但我所有问题的共同点是,当触发Application.Calculation时,CalculateUntilAsyncQueriesDone被设置为xlCalculationManual。在此之前,我尝试了一系列的CalculateCalculateFullCalculateFullRebuild,但都没有结果。

您可能需要实现如下内容才能使您的脚本工作:

代码语言:javascript
运行
复制
    With Application
        .Calculation = xlCalculationAutomatic
        .CalculateUntilAsyncQueriesDone

        Do Until .CalculationState = xlDone
        Loop
        
        .Calculation = xlCalculationManual
    End With
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62978078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档