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小时后发布解决方案,因为我的代表目前不允许我发布。再次感谢你。