在vba中比较十进制值时出错

时间:2015-04-21 21:01:23

标签: vba

我收到了下一个代码:

aux = 97.8000030517578

Select Case aux
Case aux < 100
    Debug.Print "Menor que 100"
Case aux >= 97 And aux < 100
    Debug.Print "Medio"
Case aux < 97
    Debug.Print "malo"
End Select

它并没有完成选择中的任何条件,因此它不会打印任何内容。有什么想法,帮忙吗?

2 个答案:

答案 0 :(得分:2)

这是另一种方式:

aux = 97.8000030517578
Select Case True
Case aux >= 99 And aux < 100: Debug.Print "Menor que 100"
Case aux >= 97 And aux < 99: Debug.Print "Medio"
Case aux < 97: Debug.Print "malo"
End Select

在您的第一次尝试中,您实际上并未测试aux,而是对语句进行测试 因此,请选择该语句为True的情况。

答案 1 :(得分:1)

我做了改变的工作:

aux = 97.8000030517578
Select Case aux
        Case 99 to 100
            Debug.Print "Menor que 100"
        Case 97 to 98.999
            Debug.Print "Medio"
        Case aux < 97
            Debug.Print "malo"
    End Select

我不知道是否有其他方式。