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

时间:2013-11-07 18:57:19

标签: vba if-statement break control-flow nested-if

通常,当我想要打破一个语句时,我只为控制流设置了一个boolean标志,但我有一个特殊情况,有许多嵌套的If语句,我真的很想拥有用一个简单的陈述来突破几个的方法。

在Java中,您可以name a loop然后中断到该位置; VBA有什么类似的东西可以在If语句中的深层嵌套位置使用吗?我知道VBA有Exit statement for for循环(whilefor等),所以我想知道If s是否有类似内容。

理想情况下,我想做点什么:

If ...
    *NAMED_IF*
    If ...
         If ...
          :
            *break out of NAMED_IF*
          :
        End If
    End If
    *Now We end up at this control position*
End If

1 个答案:

答案 0 :(得分:5)

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

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: