布尔,真和真和真来作为假?
这是否有一个原因是错误的? 以下是debugging时的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
您遇到的问题是,&符号&
是VBA中的string连接运算符。
要评估逻辑逻辑条件,您必须使用And
运算符,如下所示:
?True And True
根据MSDN ,算术(和&)在比较和逻辑运算符之前被评估。
所以A + B > X & A + B <= Y & C = 0
(A + B) > (X & A + B) <= (Y & C) = 0
这可能不是你所期望的, (A + B) > (X & A + B) <= (Y & C) = 0
。