vba - 如果 OR 语句已经找到 FALSE 条件,它会检查所有条件吗?

标签 vba excel if-statement logic

这个问题在这里已经有了答案:





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/

相关文章:

ms-access - 如何查找 Access 数据库中是否调用了 VBA 代码?

excel - 找出较长期间内较短的天数进行计算

sql - 在 Excel 表上编写 SQL 查询

java - 如何将代码更改为 switch 语句?

arrays - 按从小到大排列的元素索引

sql - 运行存储过程并从 VBA 返回值

vba - 需要更正代码以将工作簿合并到单个工作簿中 - 消除保存提示

c - 在以下 C 程序中,如果条件不起作用

mysql - 删除重复的子字符串

excel - 分割前缀和姓氏(基于数组数据)