У меня есть код, использующий поле ввода для получения данных. Я хочу, чтобы поле ввода было l oop, пока пользователь не закроет его. Но когда я закрываю поле ввода, я получаю всплывающее сообщение с надписью «Серийный номер уже существует». Я не уверен, что мне не хватает, чтобы это не появлялось при закрытии поля ввода.
Private Sub OptionButton1_Click()
'Outgoing
Dim ws As Worksheet
Set ws = Worksheets("CRR")
Dim OutPO As String
Dim Outgoing
OutPO = InputBox("Enter Outgoing PO Number", "PO")
If OutPO = "" Then
MsgBox "Enter PO Before Scanning", vbCritical, ""
Exit Sub
End If
Do
Outgoing = InputBox("Enter Outgoing CCA Serial Number!", "Outgoing")
With Sheets("CRR").Range("B:B")
Set Rng = .Find(What:=Outgoing, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
MsgBox "Serial Number Already Exists!", vbExclamation, "Error"
Else
Dim lRow As Long
lRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Offset(1).Row
ws.Cells(lRow, 1).Value = OutPO
ws.Cells(lRow, 2).Value = Outgoing
ws.Cells(lRow, 3).Value = Date
ws.Cells(lRow, 4).Value = Environ("Username")
End If
End With
Loop Until Len(Outgoing) = 0
End Sub