如果声明选择一个值

时间:2014-06-22 12:15:30

标签: excel vba

您好我有以下代码:

If Numcolyo = Even Then
    .StartPoint.y = BuWidth / 2 + ccFacoy
    Else
    .StartPoint.y = BuWidth / 2
    End If

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

如果Numcolyo=3,那么我希望第二个陈述为真:StartPoint.y = BuWidth / 2

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

1 个答案:

答案 0 :(得分:5)

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

If Numcolyo Mod 2 = 0  Then
    .StartPoint.y = BuWidth / 2 + ccFacoy
Else
    .StartPoint.y = BuWidth / 2
End If

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