Как выйти из цикла «Пока» при вводе определенных данных? - PullRequest
0 голосов
/ 20 ноября 2018

Цикл do while, приведенный ниже, не выходит из цикла, когда я этого хочу.

Я хочу завершить цикл при вводе либо P, либо p.

Private Sub btnDoWhile_Click()

    Dim product2 As String

    With wsLoops

        Do While product2 <> "P" Or product2 <> "p"
        product2 = Left(InputBox("Please enter product number", "Product please", "Enter product number here"), 1)
            If product2 = "P" Or product2 = "p" Then
                MsgBox "Thank you"
            ElseIf product2 = "" Then
                Exit Sub
            Else
                MsgBox "Please enter a valid product number"
            End If
        Loop

    End With

End Sub

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Вот оно ..... возможное решение

Private Sub btnDoWhile_Click()
Dim product2 As String

With wsLoops
    Do
        product2 = Left(InputBox("Please enter product number", "Product please", "Enter product number here"), 1)
        If product2 = "P" Or product2 = "p" Then
            MsgBox "Thank you"
        ElseIf product2 = "" Then
            Exit Sub
        Else
            MsgBox "Please enter a valid product number"
        End If
    Loop While Not product2 = "P" And Not product2 = "p"
End With

End Sub
0 голосов
/ 20 ноября 2018

Вы можете упростить логику таким же образом (как и другие).

Private Sub btnDoWhile_Click()

    Dim product2 As String

    Do

        product2 = Left(InputBox("Please enter product number", "Product please", "Enter product number here"), 1)

        If LCase$(product2) = "p" Then
            MsgBox "Thank you"
        ElseIf product2 = "" Then
            Exit Sub
        Else
            MsgBox "Please enter a valid product number"
        End If

     Loop Until LCase$(product2) = "p"

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