這是否有一個原因是錯誤的?下面是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輸出調試時:比較和邏輯運算符之前評估布爾,真,真,真如何假?
?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
根據MSDN,算術(和&)。
因此A + B > X & A + B <= Y & C = 0
評估爲(A + B) > (X & A + B) <= (Y & C) = 0
這可能不是你所期望的。
您遇到的問題是,符號&
是VBA中的字符串連接運算符。
評價必須使用And
操作邏輯邏輯條件,就像這樣:
?True And True
「有趣」的部分是'和'是*邏輯*或*位*明智的*運營商*取決於上下文* ..得愛VBA :-) –
你知道符號(&)是字符串連接運算符,對不對? –
所以要說「真實而真實」,你不把它寫成「真實&真實」? –
正確。它是:'真實,真實,真實' –