2015-10-19 73 views
0

這是否有一個原因是錯誤的?下面是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 
+2

你知道符號(&)是字符串連接運算符,對不對? –

+0

所以要說「真實而真實」,你不把它寫成「真實&真實」? –

+0

正確。它是:'真實,真實,真實' –

回答

0

根據MSDN,算術(和&)。

因此A + B > X & A + B <= Y & C = 0評估爲(A + B) > (X & A + B) <= (Y & C) = 0這可能不是你所期望的。

1

您遇到的問題是,符號&是VBA中的字符串連接運算符。

評價必須使用And操作邏輯邏輯條件,就像這樣:

?True And True  
+1

「有趣」的部分是'和'是*邏輯*或*位*明智的*運營商*取決於上下文* ..得愛VBA :-) –