Visual Basic/Excel-多重等效?

Visual Basic/Excel-多重等效?,excel,vba,Excel,Vba,简单问题:我可以在一个等式中有多个值吗,例如: x = y = z = 25 注意:这适用于Excel宏。不,您不能。我认为这将计算为x=False,因为 z=25为假,y=False可能为假。 所以你会给x赋值为False。简短的回答是:“否” 示例代码: Sub Test() Dim x As Integer Dim y As Integer Dim z As Integer x = 1 y = 1 z = 1 x = y = z

简单问题:我可以在一个等式中有多个值吗,例如:

x = y = z = 25

注意:这适用于Excel宏。

不,您不能。我认为这将计算为
x=False
,因为
z=25
为假,
y=False
可能为假。
所以你会给x赋值为False。

简短的回答是:“否”

示例代码:

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中,没有==运算符,因此该行被解释为布尔表达式字符串,其最终结果被指定给x:

x = (y = (z = 25))
x = (y = FALSE)
x = (FALSE)
y和z保持不变