Сфокусируйтесь и разверните второй список Combobox на Change Event в первом списке - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь оптимизировать пользовательскую форму из 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.

Я знаю, что эта ошибка не очень специфична, но я не могу заставить код работать так, как ожидалось.

Примечание. Я максимально упростил код, чтобы ошибка все еще оставалась.

...