Я знаю, что это старый, но попал в эту ветку, пытаясь решить мою проблему, и нашел решение, которое здесь не упоминалось. Поэтому, если кто-то попадет сюда, как я, а это не совсем помогло ему, я подумал, что это может помочь.
У меня была пользовательская форма с раскрывающимся списком с именем cmdADAMFields, и я не хотел, чтобы моя кнопка отправки с именем FieldsSubmitButton была включена, пока я не выбрал что-то из раскрывающегося списка.
Мне пришлось разбить свой аргумент на две разные частные подпрограммы против одного более крупного оператора If-Then-Else.
Сначала я положил:
Private Sub UserForm_Activate()
If cmbADAMFields.ListIndex = -1 Then FieldsSubmitButton.Enabled = False
End Sub
Затем, когда для приватного сабвуфера моего раскрытия, когда изменилось его значение, я написал:
Private Sub cmbADAMFields_Change()
FieldsSubmitButton.Enabled = True
End Sub