这个问题在这里已经有了答案:
AndAlso/OrElse in VBA
(8 个回答)
6年前关闭。
在 VBA 中,当您使用 OR 语句时,处理器是否会检查所有条件,而不管它是否已经找到 FALSE 语句?
即:
If CriteriaA OR CriteriaB OR CriteriaC OR CriteriaD Then
Exit Function
End If
如果 CriteriaA 为假,是否会不必要地检查其他条件? CriteriaA 总是先检查吗?
我想知道,因为这些检查中的每一项都需要花费大量时间,而我只需要知道其中一项是否为假。在这种情况下,我将最常失败的标准检查放在列表的第一位,这样它就会导致函数在不得不做更多工作之前失败。这是一个正确的假设吗?
最佳答案
VBA 不会短路 OR
运算符(VB 也不需要,它需要 OrElse
)。
关于vba - 如果 OR 语句已经找到 FALSE 条件,它会检查所有条件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33881446/