Я вставил контроль формы; ListBox с множественным выбором. Но я хочу ограничить количество выборов до 3.
Если пользователь пытается выбрать более трех, он должен отменить выбор того, который пользователь пытался выбрать. Также должен появиться MsgBox, уведомляющий пользователя о том, что максимальное количество выборок равно 3.
Я попытался найти ответ на этот вопрос и попытался найти фрагменты кода, найденные в Интернете, но они не увенчались успехом.
Я пробовал этот код:
Private Sub ListBox2_Change()
Dim iInd%
Dim i As Integer, Cnt As Integer
Cnt = 0
iInd = ListBox2.ListIndex
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
Cnt = Cnt + 1
End If
Next i
If Cnt > 2 Then
ListBox2.Selected(iInd) = False
MsgBox "Only 2 types can be selected"
End If
End Sub
Но VBA возвращает «Ошибка времени выполнения 424: требуется объект» и выделяет 5. строку.
Я новичок в VBA, и у меня нет большого опыта его использования.
Почему приведенный выше код не работает, и как я могу решить мою проблему?