【发布时间】:2020-04-17 22:47:05
【问题描述】:
我正在尝试创建一个选择案例来识别一个数字是小于 0、1 到 100 还是大于 100,事实是这不起作用。这是我的代码:
If IsNumeric(TxtTemp.Text) Then
Select Case TxtTemp.Text
Case Is <= 0
TxtEstado.Text = "Solid"
Case 1 To 100
TxtEstado.Text = "Liquid"
Case Is > 100
TxtEstado.Text = "Gas"
End Select
Else
TxtEstado.Text = ""
End If
我知道这是一件容易的事情,事情是只有当接收到的数字等于 1 时,select 案例才返回液体。如果它小于或等于 0,它会返回固体,但如果它等于或大于 2,它返回气体。我不明白我做错了什么。
【问题讨论】:
-
试试
Select Case CDbl(TxtTemp.Text)您需要将一个数字与其他数字进行比较。 -
对于任何编程语言都要记住这一点:“字符串或字符
1与数字 1 不同”,即使它们在视觉上看起来相同。所以需要转换成相同的Data类型进行比较。 -
只是在此处添加`Case Is > 100`可能是
Case Else -
好的,这是有道理的,我最终做的是将'TxtTemp.Text'存储在一个双变量中并且它有效,现在它为什么有效并且你的答案是一个更好的方法是有道理的做它。谢谢!
标签: vba select-case