如何在VBA中计算“IF”和“and”语句?

如何在VBA中计算“IF”和“and”语句?,vba,excel,Vba,Excel,在Java或C中,AND语句从左到右求值。如果第一个条件为非真,则不计算第二个条件。如果第二个条件将导致java.lang.arrayindexoutofboundsexception,则此选项非常有用 我的Excel VBA应用程序中也有类似的情况。我有这样一个if声明: 如果condition1=false且cellElement为-1,则 即使condition1为false,它也会抛出VBA运行时错误1004“应用程序定义或对象定义错误” 我的问题是,VBA是否计算AND语句中的第二个条

在Java或C中,AND语句从左到右求值。如果第一个条件为非真,则不计算第二个条件。如果第二个条件将导致java.lang.arrayindexoutofboundsexception,则此选项非常有用

我的Excel VBA应用程序中也有类似的情况。我有这样一个if声明:

如果condition1=false且cellElement为-1,则

即使condition1为false,它也会抛出VBA运行时错误1004“应用程序定义或对象定义错误”

我的问题是,VBA是否计算AND语句中的第二个条件,即使第一个条件为false

我目前的工作环境很糟糕,但它确实有效:

Dim b As Boolean
If condition1 = false Then
   b = false
Else
   b = cellElement - 1 <> ""

If b Then...

谢谢大家!

在VBA中没有短路在你的两个条件和陈述中有三个条件。。。2个等号和1个不等号你说得对@Chrismas007,谢谢,我修好了。但我的申请表中并不是这样的。