新人求教关于VBA中select case条件中如何编写大于且小于等于

中间select case代码如下:
Select Case sale1 - sale2
Case Is <= 0.7
charge = 0
Case Is > 0.7, Is <= 1
charge = (sale1 - sale2) *100
Case Is > 1
charge = (sale1 - sale2) * 200 + 3 *10
End Select
在EXCEL表格中插入此自定义函数,实际条件是sale1 - sale2是大于1的,但是却按大于0.7小于等于1这个条件满足格式来计算出的结果~求高人解答!

Case Is > 0.7, Is <= 1 这样写程序认为是大于0.7 或者小于等于1
因为满足条件只会执行第一个Case,所以你的代码可以这样写
Select Case sale1 - sale2
Case Is <= 0.7
charge = 0
Case Is <= 1
charge = (sale1 - sale2) *100
Case Is > 1
charge = (sale1 - sale2) * 200 + 3 *10
End Select
当等于0.5的时候满足第一个条件,所以执行第一个,执行完后程序直接跳出了,不会再去执行后面的Case了。
如果你非要写两个条件,可以这样,直接写上条件,不要用 IS
a = sale1 - sale2
Select Case a
Case Is <= 0.7
charge = 0
Case a > 0.7 And a <= 1
charge = (a) * 100
Case Is > 1
charge = (a) * 200 + 3 * 10
End Select
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-22
应该被当成整形计算了
可以把条件上全部乘以10
如:
Select Case sale1*10 - sale2*10
Case Is*10 <= 0.7*10
charge = 0
Case Is*10 > 0.7*10, Is <= 1*10
charge = (sale1 - sale2) *100
Case Is > 1
charge = (sale1 - sale2) * 200 + 3 *10
End Select

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网