所以, 如果我在userform中有这个功能:
function myFunc() as String
Me.Show vbModal
stringVar = "Second"
end function
我在所述用户表单上有单独命令按钮的click事件:
Private Sub cmdbutton_Click()
Unload Me
stringVar = "First"
End Sub
我的问题是,当我从某处调用该函数(“MyFunc”)时,按钮的单击事件(“cmdButton”)会在允许函数继续之前继续处理,还是基本上是抛硬币?此stringVar
变量是userform的私有变量。它在该按钮的单击事件中设置,但我想在单击发生后在函数中使用它。 (表格上还有其他组件,计算等......)
那么在点击事件结束之前该功能是否有继续处理的风险?如果函数在click事件之前继续,那么变量将无法正确设置
答案 0 :(得分:1)
我的问题是,当我从某处调用该函数(“MyFunc”)时,按钮的单击事件(“cmdButton”)会在允许函数继续之前继续处理,还是基本上是抛硬币?
让我用图片后面的描述来解释
stringVar = "Second"
将不会运行,直到卸载用户表单为止。Unload Me
。但是,这并不意味着之后的任何代码都不会运行。 Unload Me
与Exit Do
或Exit For
不同。它只是卸载对象,决不会停止进一步执行脚本/代码。stringVar = "First"
,它到达End Sub
stringVar = "Second"
希望这是有道理的。如果没有,那么请随时问你有什么疑问。
您还可以使用 F8 单步执行代码来执行代码。
进一步阅读: Debugging VBA Code