У меня есть код, который вставляет текст во вновь вставленную строку после того, как он запрашивает у пользователя ввод текста в InputBox. Проблема заключается в том, что если пользователь выбирает отмену на InputBox, код все равно будет работать, и он будет вставлять новую строку и записывать FALSE в столбец E. Если ничего не введено и я нажимаю OK, тогда он будет правильно выйти из функции , Однако, как я могу сделать так, чтобы он выходил из функции, когда пользователь нажимает на отмену?Как выйти из функции, если пользователь отменяет или не вводит что-либо во входное поле
Public Function ContactAdd() As Long
Dim cF As Range
Dim Response As String
With Worksheets("Database").Range("B:B")
'Find the cell in column B containing value in combobox
Set cF = .Find(What:=Worksheets("Database").ComboBox1, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
'If cell in column B is found
If Not cF Is Nothing Then
'Open inputbox
Response = Application.InputBox("Enter contact name")
'If inputbox is cancelled, exit function
If Response = "" Then
MsgBox "Invalid - Exiting"
Exit Function
Else
'If entry to inputbox is made, insert row below the combobox value that was found and paste response into column E of the row that was inserted
cF.Offset(1, 0).EntireRow.Insert
ContactAdd = cF.Offset(1, 0).Row
Worksheets("Database").Cells(ContactAdd, 5).Value = Response
End If
Exit Function
End If
End With
ContactAdd = 0
End Function
Private Sub InsertContact1_Click()
'Execute ContactAdd function when button is clicked
ContactAdd
End Sub
Эта часть моего кода, поэтому неправильно, и я не знаю, почему ... Я попытался с помощью vbNullString вместо «», а также которые не помогло.
If Response = "" Then
MsgBox "Invalid - Exiting"
Exit Function
Отлично, спасибо! – Chris