如果声明选择一个值

RiM*_*iMa 0 excel vba

嗨,我有以下代码:

If Numcolyo = Even Then
    .StartPoint.y = BuWidth / 2 + ccFacoy
    Else
    .StartPoint.y = BuWidth / 2
    End If
Run Code Online (Sandbox Code Playgroud)

但它没有做我期望它做的事情.代码有效.比如说,如果Numcolyo=4那时我想要第一个语句为真:StartPoint.y = BuWidth / 2 + ccFacoy

如果Numcolyo=3那时我想要第二个陈述是真的:StartPoint.y = BuWidth / 2

我写错了吗?感谢任何帮助:)

小智 5

不要认为VBA中存在EVEN关键字.使用模数运算符尝试它,它返回除法运算的其余部分:

If Numcolyo Mod 2 = 0  Then
    .StartPoint.y = BuWidth / 2 + ccFacoy
Else
    .StartPoint.y = BuWidth / 2
End If
Run Code Online (Sandbox Code Playgroud)

当除以2的东西没有余数时,它是偶数.