VBA Выберите случай 1 до 100 только с 1 - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь выбрать случай, который определяет, если число меньше 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. Если оно меньше или равно 0 возвращает solid, но если оно равно или больше 2, возвращает газ. Я не понимаю, что я делаю не так.

1 Ответ

0 голосов
/ 18 апреля 2020

Может быть, проще использовать функцию для этого вида преобразования

    Function chText(txt As String) As String

    On Error GoTo EH

        Dim resTxt As String

        If IsNumeric(txt) Then
            Select Case CDbl(txt)
                Case Is <= 0
                    resTxt = "Solid"
                Case 1 To 100
                    resTxt = "Liquid"
                Case Is > 100
                    resTxt = "Gas"
            End Select
        Else
            resTxt = ""
        End If

        chText = resTxt

        Exit Function

    EH:
        chText = "Error"

    End Function

Sub Tester()

 Debug.Print chText("101")
' TxtEstado.Text = chText(TxtTemp.Text)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...