Проблема с «Выбрать дело» - PullRequest
0 голосов
/ 10 мая 2010

я написал следующий раздел ниже. при отладке, я вижу, что я вхожу в первый случай хорошо. моя проблема со вторым случаем - он не входит в него и переходит к сообщению об ошибке.

что я делаю не так?

Select Case Data_Rate
  Case "1", "2", "5.5", "11", "6", "9", "12", "18", "24", "36", "48", "54"
    a = Data_Rate

    Select Case Date_Rate
      Case "1"
        b = 2
      Case "2", "5.5", "11"
        b = 1
      Case Else:
        MsgBox ("ERROR - Data_Rate")
    End Select

  Case "0", "1", "2", "3", "4", "5", "6", "7"
    a = 3
  Case Else:
    MsgBox ("ERROR - Data_Rate")
End Select

Ответы [ 2 ]

3 голосов
/ 10 мая 2010

Это ваш настоящий код, вставленный выше?

Если это так, то это может быть потому, что в качестве значения для вложенного оператора Select вместо «datA_rate» используется «datE_rate».

Если нет, или даже если так, возможно, вы захотите дифференцировать свои сообщения об ошибках, чтобы было понятнее, является ли внутренний или внешний выбор неудачным.

Edit:

Кроме того, я не думаю, что вы используете Option Explicit. Если бы вы это сделали, это поймало бы ваше ошибочное использование Date_Rate, если у вас действительно нет такой переменной.

0 голосов
/ 10 мая 2010

Для значений типа 1, 2 и 6, которые находятся в обоих, он всегда будет выполнять только первый случай

I case-оператор похож на if / else if операторов.

Выполнен только один блок

Не несколько блоков

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