Excel 输入特定数据时如何退出Do While循环?

Excel 输入特定数据时如何退出Do While循环?,excel,vba,Excel,Vba,下面的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", "P

下面的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
Private Sub btndowwhile\u Click()
将产品2设置为字符串
使用wsLoops
当产品2“P”或产品2“P”时执行
product2=左侧(输入框(“请输入产品编号”、“请输入产品”、“在此输入产品编号”),1)
如果product2=“P”或product2=“P”,则
MsgBox“谢谢”
ElseIf product2=“”然后
出口接头
其他的
MsgBox“请输入有效的产品编号”
如果结束
环
以
端接头

您可以通过这种方式(以及其他方式)简化逻辑


您可以通过这种方式(以及其他方式)简化逻辑


在这里。。。。。可能的解决办法

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

在这里。。。。。可能的解决办法

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

使用
有什么意义?请删除
或“Do While”中的product2“p”
,您使用的
不等于。您需要一个
product2“P”和product2“P”
否则这将始终通过,因为它不能同时是
“P”
“P”
。您可以将
退出Do
放在
MsgBox“谢谢”
之后,谢谢!和是我遗漏的内容使用
有什么意义?请删除
或'Do While'中的产品2“p”
,您正在使用
不等于。您需要一个
product2“P”和product2“P”
否则这将始终通过,因为它不能同时是
“P”
“P”
。您可以将
退出Do
放在
MsgBox“谢谢”
之后,谢谢!这就是我失去的银行!我从未尝试过使用while not,但它会带来很多好处sense@financedude,不客气,谢谢!我从未尝试过使用while not,但它会带来很多好处sense@financedude,我的荣幸。