卸载Form后,VBA Excel Sub继续运行

时间:2017-05-06 15:22:28

标签: excel vba excel-vba

我不知道发生了什么但是在我实施新代码后,按下“取消”按钮后,“Sub”继续运行。

我的'取消'按钮:

Private Sub CancelButton_Click()

If Cancel Then Exit Sub
Cancel = True

'Save Settings
....

Unload Me
End Sub

我的子功能和新功能:

Sub Example()
  Dim myArr() as string
  ...
  some loops....
     If Cancel Then
        Exit Sub
     End If
     myArr = NewFunction(a1,a2)
     myVar = myArr(1)
  ...
End Sub

Function NewFunction(a1,a2) As String ()
    Dim tmpArr() as string
    ...
    ReDim tmpArr(1)
    ...
    NewFunction = tmpArr()
 End Function

的问题:

  1. 如果我避免执行行myVar = myArr(1),代码会在取消后继续运行,因此我需要手动停止执行。为什么?
  2. 如果执行了行myVar = myArr(1),则表单将被卸载并显示错误:
  3.   

    运行时错误9

         

    下标超出范围

    不要弄错了。如果我没有取消它,代码运行正常。问题只在于“取消”按钮,它在之前工作得很完美......

    干杯,安迪

    表单按钮: Picture1

0 个答案:

没有答案