Visual Basic / Excel – 多个同等性?

简单的问题:我可以在一个方程中有多个值,例如:

x = y = z = 25 

注意:这是Excelmacros。

最简洁的答案是不”。

示例代码:

 Sub Test() Dim x As Integer Dim y As Integer Dim z As Integer x = 1 y = 1 z = 1 x = y = z = 25 Cells(1, 1).value = x Cells(2, 1).value = y Cells(3, 1).value = z End Sub 

输出:

 0 1 1 

说明:

在VBA中,没有==运算符,因此该行被解释为一个布尔expression式的string,其最终结果被分配给x:

 x = (y = (z = 25)) x = (y = FALSE) x = (FALSE) 

y和z保持不变。

不,你不能。 我认为那会评估为x = False ,因为
z = 25是假的, y = False是假的。
所以你可以将False赋值给x。