我在UserFrom中有一个CommandButton,它执行以下操作:
Private Sub CommandButton_Click()
If (ModuleExists("myModule") = False) Then
MsgBox stringAlert
Exit Sub 'This line does not freezes it.
End If
inputsToValidate = True 'This is a public variable
validarInput 'This method validates the userform inputs, if all OK inputsToValidate = False
If inputsToValidate Then
Exit Sub 'This line freezes the userform. The code actually continues, but when it does exits the sub it freezes.
End If
DoThings
Unload InterpolateCurveForm
End Sub
正如您在我的评论中所看到的,代码可以正常工作,除非它进入" If inputsToValidate然后"声明。如果它发生,代码实际上执行Exit Sub行,但之后它冻结。
validarInputs是一个私有子,如果有任何输入错误,它会显示消息。如果一切正常,则不显示任何消息,并且它将公共变量inputsToValidate更改为False
答案 0 :(得分:1)
我尝试将公共变量更改为局部变量,然后将validarInputs更改为私有函数,因此inputsToValidate的定义如下:inputsToValidate = validarInputs
现在正常运作。
答案 1 :(得分:0)
您可以采取另一种方式:
....
If inputsToValidate = False Then
DoThings
Unload InterpolateCurveForm
End If
End Sub