退出已调用不同程序 VBA Excel 的程序

GBS*_*ngh 2 error-handling excel vba procedure

我有一个程序可以为我做一些错误检查,并从不同的程序调用。我希望能够做的是,如果输入了不正确的数据并且错误检查过程发现了这一点,那么我想停止调用错误检查过程的过程。即如果错误检查程序是

sub errorCheck
Run Code Online (Sandbox Code Playgroud)

和主要程序是

sub main
Run Code Online (Sandbox Code Playgroud)

和主要调用错误检查。当发现错误时,我希望 sub errorCheck 停止 main。我曾尝试使用 exit sub 但这仅退出 errorCheck sub 而不是 main

和帮助会很好谢谢

Tom*_*Tom 6

使它成为一个返回布尔值的函数。检查调用过程 main 中的值是否为 False,然后在主过程中执行 Exit Sub。

一个有点讨厌的方法:只需键入 End 而不是 Exit Sub。然而,这确实完全停止了代码的执行。

像这样的东西:

Function errorcheck() As Boolean
' in this case it is always false of course
    errorcheck = False
End Function

Sub main()
    If Not errorcheck Then
        Exit Sub
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)