VBA: назначить значение по умолчанию для поля со списком управления формой

Я пытаюсь отобразить текст Выбрать по умолчанию в элементе управления формой combo box. Я пробовал следующее, но, похоже, не работает. Может кто-нибудь предложить, что я делаю неправильно?

Опция 1:

 Activesheet.shapes("choose_selection").text = "Select your choice"

Вариант 2:

 Activesheet.shapes("choose_selection").controlformat.text = "Select your choice" 

но я получаю эту ошибку

введите здесь описание изображения


person Surbhi Manocha    schedule 29.08.2017    source источник
comment
ты нашел решение?   -  person Minh Bui    schedule 29.08.2017


Ответы (2)


Задайте значение по умолчанию в поле со списком

Свойство ListIndex задает текущий выбранный элемент, используя порядковый номер. ListIndex = 1 устанавливает первое значение в массиве.

Sub ChangeSelectedValue()
  With Worksheets("Sheet1").Shapes("Combo Box 1")
  .List = Array("select your choice","Apples", "Androids", "Windows")
  .ListIndex = 1
 End With
End Sub

Надеюсь, это поможет.

person Minh Bui    schedule 29.08.2017
comment
Спасибо, но, к сожалению, не сработало. Не могли бы вы поделиться точным фрагментом кода, с помощью которого вы могли бы запустить это? - person Surbhi Manocha; 30.08.2017

Попробуйте сначала определить объект DropDown, а затем отобразить в нем текст.

Примечание. DropDown — это объект VBA, который ссылается на Form_Control ComboBox.

Dim drpdown As DropDown

' set the drop-down object
Set drpdown = ActiveSheet.DropDowns("choose_selection")

' modify the drop-down properties
With drpdown
    .Text = "Select your choice"
End With
person Shai Rado    schedule 29.08.2017
comment
Спасибо за ответы. Но это продолжает добавлять одно и то же значение. Выберите свой выбор в раскрывающемся списке снова и снова. Как я могу этого избежать? - person Surbhi Manocha; 30.08.2017