Возникла проблема, не могу понять даже под каким соусом искать в инете.
Есть Listbox в Userform в котором пользователи должны выбирать определенное значение. После выбора значения в выпадающем списке, пользователь может посмотреть сколько вхождений данного типа есть в столбике (базе) и в какой строке первое вхождение данного типа. Проблема когда пользователь нажимает на кнопку проверки не выбрав значение в списке. Тогда выскакивает ошибка и работа формы останавливается. Хотел сделать защиту от этого... Что то не получается(((
Код
Private Sub CheckNum_Click()
If Me.TypeList.Text = "" Then
' Если в списке ничего не выбрано (пусто)
MsgBox "Введите тип"
' Появляется сообщение. После нажатия на ОК курсор перемещается в окно выпадающего списка.
Exit Sub
End If
TypeList.Focus
Dim iType As Integer
Dim iMatch As Integer
iType = Application.WorksheetFunction.CountIf(Range("A:A"), TypeList.Value)
iMatch = Application.WorksheetFunction.Match(TypeList.Value, Range("A:A"))
MsgBox iType & "*" & iMatch
End Sub
Если в выпадающем списке выбрано значение - все работает. Если не выбрано - сообщение "Введите тип" появляется, но после нажатия на ОК выскакивает сообщение об ошибке "Compile Error: Method or data member not found"
Если убираю TypeList.Focus - все работает, только курсор не возвращается в выпадающий список
Эммм... что то я сам ступил... Сказывается то, что с VBA начал осваивать недавно и все еще слишком редко использую(((
Код
Private Sub CheckNum_Click()
If Me.TypeList.Text = "" Then
MsgBox "Укажите тип"
TypeList.SetFocus
If Me.TypeList <> "" Then
Dim iType As Integer
Dim iMatch As Integer
iType = Application.WorksheetFunction.CountIf(Range("A:A"), TypeList.Value)
iMatch = Application.WorksheetFunction.Match(TypeList.Value, Range("A:A"))
MsgBox iType & "*" & iMatch
End If
End If
Private Sub CheckNum_Click()
If Me.TypeList.Text = "" Then
MsgBox "Укажите тип"
TypeList.SetFocus
EXIT SUB
ENDIF
'If Me.TypeList <> "" Then
Dim iType As Integer
Dim iMatch As Integer
iType = Application.WorksheetFunction.CountIf(Range("A:A"), TypeList.Value)
iMatch = Application.WorksheetFunction.Match(TypeList.Value, Range("A:A"))
MsgBox iType & "*" & iMatch
'End If
'End If
END SUB
Private Sub CheckNum_Click()
If Me.TypeList.Text = "" Then
MsgBox "Укажите тип"
TypeList.SetFocus
End If
If Me.TypeList <> "" Then
Dim iType As Integer
Dim iMatch As Integer
iType = Application.WorksheetFunction.CountIf(Sheets("ÐåöÌàø").Range("A:A"), TypeList.Value)
iMatch = Application.WorksheetFunction.Match(TypeList.Value, Sheets("ÐåöÌàø").Range("A:A"))
MsgBox iType & "*" & iMatch
End If
End Sub