首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vba获取多维数据集更新时间公式需要延迟宏执行

vba获取多维数据集更新时间公式需要延迟宏执行
EN

Stack Overflow用户
提问于 2016-08-10 23:50:34
回答 2查看 1.7K关注 0票数 1

我有一个多维数据集连接到excel中的轴心点。在一个单元格中,我通过以下公式显示“最新更新”值:

代码语言:javascript
复制
=CUBEVALUE("CUBE NAME";"[Measures].[Last Data Update]")

excel从多维数据集中获取更新时间并更新单元格需要5-10秒。因此,如果我在紧跟其后关闭工作簿,当我重新打开该工作簿时,它将只显示n/a。

我已经安排这个wb通过另一个每天运行的wb自动更新(在其他wb中)。这样我就得到了n/a问题。我看到了两个我不知道如何找到的解决方案:

1,暂停宏10秒,以便它可以正确获取日期。-我已经尝试了等待和睡眠Vba,但这也会暂停计算。-有没有办法只暂停宏的执行?

2 .通过vba获取更新日期,然后打印到单元格。-我不知道该怎么做我已经找过了,但没有找到任何替代方案。-有人知道这是如何实现的吗?

谢谢Elias

已解决:

我只想分享我的解决方案。找到了处理OLAP数据源的CalculateUntilAsyncQueriesDone方法:

代码语言:javascript
复制
                    Application.CalculateUntilAsyncQueriesDone

                    Do While Application.CalculationState <> xlDone
                        DoEvents
                    Loop

更多信息请点击此处:https://msdn.microsoft.com/en-us/library/office/ff821008.aspx

EN

回答 2

Stack Overflow用户

发布于 2016-08-11 14:25:29

我只想分享我的解决方案。找到了处理OLAP数据源的CalculateUntilAsyncQueriesDone方法:

代码语言:javascript
复制
                        Application.CalculateUntilAsyncQueriesDone

                        Do While Application.CalculationState <> xlDone
                            DoEvents
                        Loop

更多信息请点击此处:https://msdn.microsoft.com/en-us/library/office/ff821008.aspx

票数 1
EN

Stack Overflow用户

发布于 2016-08-11 13:41:20

试试我多年前写的这个等待代码。这将等待指定的秒数,并让excel计算它的公式。只需将10更改为您想要的任何数字。

代码语言:javascript
复制
Sub Sample()
    '
    '~~~> Rest of your code
    '
    Wait 10 '<~~ Wait for 10 secs
    '
    '~~~> Rest of your code
    '
End Sub

Private Sub Wait(ByVal nSec As Long)
    nSec = nSec + Timer
    While nSec > Timer
        DoEvents
    Wend
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38878175

复制
相关文章

相似问题

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