Vba 布尔表达式-运算顺序

Vba 布尔表达式-运算顺序,vba,excel,boolean,operator-precedence,Vba,Excel,Boolean,Operator Precedence,我在Excel VBA中进行了一次测试: If (test1) And (test2) And (test3) Then 'do something End If 如果是(test1)和(test2)以及(test3),那么 “做点什么 如果结束 在C、Java等语言中,首先运行test1,然后运行test2,然后运行test3。关键的是,如果test1为false,那么整个测试都为false,因此其余的测试不会运行 在这种情况下,VBA会发生这种情况吗?如果是,测试的运行顺序是什么?在

我在Excel VBA中进行了一次测试:

If (test1) And (test2) And (test3) Then 'do something End If 如果是(test1)和(test2)以及(test3),那么 “做点什么 如果结束 在C、Java等语言中,首先运行test1,然后运行test2,然后运行test3。关键的是,如果test1为false,那么整个测试都为false,因此其余的测试不会运行


在这种情况下,VBA会发生这种情况吗?如果是,测试的运行顺序是什么?

在.NET之前的所有VBs中,不存在短路这类情况。即使不需要,也将计算所有表达式。如果您想要短电流,请执行嵌套IFs