VBA очистить список списков ActiveX - PullRequest
0 голосов
/ 18 января 2019

Как очистить список Excel ActiveX ComboBox с помощью VBA. Я ожидал, что этот код будет работать:

Sheet1.OLEObjects(1).Clear

но это поднимает

объект ошибки времени выполнения не поддерживает это свойство или метод.

Я озадачен, потому что это работает:

Sheet1.OLEObjects(1).Name

возвращает имя TempCombo.

Я все еще не могу, когда я пытаюсь это:

Sheet1.TempCombo.Clear

Возвращает ошибку:

Ошибка времени выполнения Неуказанная ошибка.

Что еще я должен проверить?

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Если у выпадающего списка есть имя, вы можете просто обратиться к нему. Как

With mySheet
    .cbMyComboBox.ListFillRange = vbNullString
End with
0 голосов
/ 18 января 2019

Если вы хотите очистить список ActiveX ComboBox, вы можете попробовать что-то вроде этого ...

Sheet1.OLEObjects(1).ListFillRange = ""

Или точнее это ...

If TypeName(Sheet1.OLEObjects(1).Object) = "ComboBox" Then
    Sheet1.OLEObjects(1).ListFillRange = ""
End If
...