Помещение l oop в регистр выбора приводит к ошибке - PullRequest
1 голос
/ 08 февраля 2020

Я поместил оператор do / while в SELECT CASE / END SELECT, и он генерирует ошибку

Случай без выбора.

Select Case myVariable
    Case 0
        Do
        While ...
    Case 1
    ...
End Select

Ответы [ 3 ]

3 голосов
/ 08 февраля 2020

Это не так, как работают циклы Do While. Is не имеет ничего общего с вашим Select Case

попробуйте так:

Sub test()
  Dim x As Integer
  Dim y As Integer

  y = 0

  Select Case y
    Case 0
      Do While x < 10
        x = x + 1
      Loop
      MsgBox x
    Case 1
      MsgBox "end"
  End Select

End Sub

или

Sub test()
  Dim x As Integer
  Dim y As Integer

  y = 0

  Select Case y
    Case 0
      Do 
        x = x + 1
      Loop While x < 10
      MsgBox x
    Case 1
      MsgBox "end"
  End Select

End Sub

Do Loops

1 голос
/ 08 февраля 2020

Попробуйте это:

Sub Test()
Dim myvariable As Integer
myvariable = 0

Select Case myvariable
   Case Is = 0
        i = 0
         Do
              MsgBox i
              i = i + 1
         Loop While (i < 10)
  Case Else
      MsgBox "Else"
End Select
End Sub
0 голосов
/ 08 февраля 2020

другое альтернативное использование

Select Case myVariable
    Case 0
        Dim Counter
        Counter = 0 ' Initialize variable.
        While Counter < 20 ' Test value of Counter.
             Counter = Counter + 1 ' Increment Counter.
        Wend ' End While loop when Counter > 19.
        Debug.Print Counter ' Prints 20 in the Immediate window.
    Case 1
    ...
End Select
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...