【问题标题】:Need to apply wait after function call so that next function gets called after 1st function has executed需要在函数调用后应用等待,以便在第一个函数执行后调用下一个函数
【发布时间】:2019-05-18 04:23:52
【问题描述】:

我想一键运行 2 个功能。我为按钮分配了一个宏,在这个宏调用中,我有两个函数 - Func1 和 Func2。现在 Func1 在内部使用异步模式。执行控制转移到 Func2。由于 Func1 内部没有完成,我不希望 excel vba 跳转到 Func2。理想情况下,Func2 应该仅在 Func1 根据某些逻辑完成写入单元格的工作时才起作用。

有人可以建议我如何进行吗?我应该等待吗?我不知道 Func1 需要多少时间,等待也会使 excel 没有响应。有人可以指导我吗?

【问题讨论】:

  • 没有太多细节可以继续,但您可以监控函数 1 写入的范围以进行更改。
  • 请附上您的相关代码部分或minimal reproducible example。对此没有好的通用解决方案,因此需要更多详细信息(您的代码)。
  • @TimWilliams - 我最终得到了您的解决方案并且它有效。所以我在 Func1 之后调用了第三个函数 Func3,在 Func3 中我运行循环直到特定的单元格值没有改变,然后最后调用了我的 Func2 调用。所以总而言之,函数执行是一致且同步的。谢谢

标签: excel vba asynchronous


【解决方案1】:

如果您想通过单击一个按钮来运行两个函数,您可以在最后调用第二个函数,如果第二个函数(无需等待)例如:

Private Function Func1()

'Code Here for Func1 

Func2 'This calls the second function

End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    相关资源
    最近更新 更多