在macros中指定动作序列?
我已经在一个工作表中编写了一系列的macros,它们通过api下载数据,然后分析和格式化数据。
我的目标是将六个命令button组合成一个。 但是当我这样做了,虽然我只是从一个副本复制粘贴到另一个副本,结果是不同的。
我的猜测是后面的命令(依赖于前面步骤的完成)不等待先前的命令完成,特别是下载数据。
对于有VBA经验的人来说,这是否有意义?或者vba代码是否总是按顺序耐心地进行评估?
是否有一个命令添加执行不同代码段之间的时间跨度?
不要真的需要代码帮助,如果它存在,只是一个指令。
谢谢。
这对VBA经验更丰富的人是否有意义?或者vba代码是否总是按顺序耐心地进行评估?
依次…是的。 耐心地? 绝对是一个很大的NO
。 否则我们不必使用DoEvents
🙂
是否有一个命令添加执行不同代码段之间的时间跨度? 不要真的需要代码帮助,如果它存在,只是一个指令。
就像我上面提到的,你可以使用Doevents
或者我使用的这个Wait
Doevents
。
Sub Sample() MsgBox "Hello" Wait 5 '<~~ Wait for 5 seconds MsgBox "World" End Sub Private Sub Wait(ByVal nSec As Long) nSec = nSec + Timer While nSec > Timer DoEvents Wend End Sub