【发布时间】:2017-11-14 10:19:00
【问题描述】:
在我的电子表格中,我有一个应该始终打开的用户窗体。
偶尔,我的代码会包含一个“End”,我会在其中根据某些 if 语句退出代码。
问题是这会关闭用户窗体,有没有办法防止这种情况发生?
编辑:
Sub Test1()
'Random code
Call Test2(Variable)
'Random code
End Sub
Sub Test2(ByVal Variable as Double)
If Variable = 0 then
'Random code
End If
If Variable = 1 then
Call Test3
End 'Original placement of End
End If
End Sub
Sub Test3()
'Random code
End Sub
这是如何构建代码的粗略示例(此时它相当长)。因此,根据“变量”,Test2 中会发生不同的事情。但是如果变量为 1,那么 Test1 中的“随机代码”就无法执行,所以我必须停止代码。我尝试用“Exit Sub”替换“End”,这只会使Test2中的代码停止运行,当它返回到Test1时它会给我一个错误。
编辑2: Test1() 实际上是四个不同的 subs(此时,将添加更多),它们都调用 Test2()。这就是为什么我选择将它分成这么多的潜艇并从潜艇内部调用它们。
【问题讨论】:
-
也许将您的代码修改为
Exit Sub而不是End?