Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel If语句选择一个值_Excel_Vba - Fatal编程技术网

Excel If语句选择一个值

Excel If语句选择一个值,excel,vba,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=B

嗨,我有以下代码:

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


我写错什么了吗?感谢您的帮助:)

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

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

当被2除的部分没有余数时,它是偶数。

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

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

当被2除的部分没有余数时,它是偶数。

提示:始终在代码顶部使用Option Explicit。这迫使您声明所有变量。那样的话,你就可以发现它甚至不是VBA中的关键字。嗨,Haris,我怎么能把它写进我的代码中呢?我是VBA编程新手。谢谢你,哈里斯。抱歉,现在我明白你的意思了,下次我会这么做:)谢谢。提示:始终在代码顶部使用Option Explicit。这迫使您声明所有变量。那样的话,你就可以发现它甚至不是VBA中的关键字。嗨,Haris,我怎么能把它写进我的代码中呢?我是VBA编程新手。谢谢你,哈里斯。对不起,现在我明白你的意思了,下次我会这么做:)谢谢。Excel VBA中有一个偶数方法,所以从某种意义上说,我错了。但我认为这不是您想要实现的。您好,VBlades,您使用Mod 2=0的解决方案运行得非常好。谢谢你的帮助。我将在8小时后发布解决方案,因为我的代表目前不允许我发布。再次感谢。Excel VBA中有一个偶数方法,所以从某种意义上说,我错了。但我认为这不是您想要实现的。您好,VBlades,您使用Mod 2=0的解决方案运行得非常好。谢谢你的帮助。我将在8小时后发布解决方案,因为我的代表目前不允许我发布。再次感谢你。