我在Excel中有一个VBA子程序,它执行DoEvents直到满足要求。在这个循环中,我需要获取外部数据和将该数据作为表导入活动工作表。当VBA代码在本节中时,我无法单击“现有连接”,我不明白为什么我不能这样做。任何人都可以向我解释为什么这是不可能的?
答案 0 :(得分:2)
DoEvents
允许其他应用程序运行时间,并阻止您的VBA代码锁定整个系统。 不允许您与VBA主机应用程序(在本例中为Excel)进行交互,因为VBA代码当前正在执行。
DoEvents函数放弃宏的执行,以便操作系统可以处理其他事件。 DoEvents函数将控制从应用程序传递到操作系统。 DoEvents可能有用的一些实例包括:
- 硬件I / O
- 延迟循环
- 操作系统调用
- DDE死锁
强调我的
您可能想要调查整合“获取外部数据&进口'处理您的VBA代码。但是,它必须在之前或之后 DoEvents
循环,而不是在