有没有理由这是假的?下面是调试时的VBA输出:
?A + B > X & A + B <= Y & C = 0
False
?A + B > X & A + B <= Y
True
?C=0
True
?A + B > X
True
?A + B <= Y
True
答案 0 :(得分:1)
您遇到的问题是&符号&
是VBA中的字符串连接运算符。
要评估逻辑逻辑条件,您必须使用And
运算符,如下所示:
?True And True
答案 1 :(得分:0)
根据MSDN,算术(和&amp;)在比较和逻辑运算符之前进行评估。
因此A + B > X & A + B <= Y & C = 0
评估为(A + B) > (X & A + B) <= (Y & C) = 0
,这可能不是您所期望的。