VBA:突破深度嵌套的If语句

use*_*577 3 vba if-statement break nested-if control-flow

通常,当我想要打破一个语句时,我只是boolean为控制流设置了一个标志,但是我有一个带有许多嵌套If语句的特殊情况,我真的希望有一种方法可以通过一个简单的语句来突破几个.

在Java中,您可以命名一个循环然后中断到该位置; VBA有什么类似的东西,可以从If语句中的深层嵌套位置使用吗?我知道VBA有循环的语句(while,for等),所以我想知道Ifs 是否有类似的东西.

理想情况下,我想做一些事情:

If ...
    *NAMED_IF*
    If ...
         If ...
          :
            *break out of NAMED_IF*
          :
        End If
    End If
    *Now We end up at this control position*
End If
Run Code Online (Sandbox Code Playgroud)

Net*_*loh 6

没有if语句特定方法来突破嵌套的if语句,但您可以使用GoTo-statement代替:

If ...
    '*NAMED_IF*
    If ...
         If ...

            '*break out of NAMED_IF*'
            GoTo GoToHere

        End If
    End If
End If

'*Now We end up at this control position*
GoToHere:
Run Code Online (Sandbox Code Playgroud)