Я пытаюсь оптимизировать пользовательскую форму из Excel, фокусируя и расширяя второй комбинированный список, когда выбран элемент из первого комбинированного списка.
Я пытался использовать .Dropdown
, но получаю ошибку The Object Invoked Has Disconnected from its Clients
.
Код, который я написал до сих пор в пользовательской форме, выглядит следующим образом:
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "First item"
.AddItem "second item"
End With
End Sub
Private Sub ComboBox1_Change()
Dim index As Integer
index = ComboBox1.ListIndex
ComboBox2.Clear
Select Case index
Case Is = 0
With ComboBox2
.AddItem "First subitem"
.AddItem "second subitem"
End With
Case Is = 1
With ComboBox2
.AddItem "First subitem on second item"
.AddItem "Second subitem on second item"
End With
End Select
ComboBox2.SetFocus
ComboBox2.DropDown
End Sub
Кроме того, я написал в ThisWorkbook
section
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Отладка выделяет UserForm1.Show
, но ошибка появляется, только если я использую строку ComboBox2.DropDown
.
Я знаю, что эта ошибка не очень специфична, но я не могу заставить код работать так, как ожидалось.
Примечание. Я максимально упростил код, чтобы ошибка все еще оставалась.