Я изо всех сил пытался понять это, несмотря на использование многих рекомендаций и вариантов, которые я нашел в Интернете.Я хочу выйти из подпрограммы, если пользователь забыл ввести значение или если это значение можно найти в диапазоне строк, это относится к пользовательской форме.
Вот самый последний из многих вариантов, которые яя пробовал для предложения IF
:
Private Sub cmd_nProj_Click()
Dim wb As Workbook
Dim ws As Worksheet, ws_h As Worksheet
Dim i_rc As Long
Dim r_home As Range, r_ProdName As Range
Set wb = Application.ThisWorkbook
Set ws_h = wb.Sheets("Control")
i_rc = ws_h.Cells(Rows.Count, 1).End(xlUp).Row
Set r_home = ws_h.Range("A" & i_rc + 1)
Set r_ProdName = ws_h.Range("N2:N30")
If Me.tb_NewProjName = "" Or r_ProdName.Find(What:=Me.tb_NewProjName.Value, LookIn:=xlValues) Is Nothing Then
MsgBox ("Either you have left the projection name blank or the projection name is already being used, please try again!")
Exit Sub
End If
end sub
Другие варианты Я бы получил объект с блочной переменной не установлена ошибка, и в этой итерации предложение if работает неправильно в этом, даже когда текстовое полезначение появляется в этом диапазоне, предложение if пропускается.
Заранее спасибо!