Удаление всех элементов из ComboBox?
Как я могу программно удалить все элементы из выпадающего списка в VBA?
Ответы
Ответ 1
Вам нужно удалить каждый отдельно, к сожалению:
For i = 1 To ListBox1.ListCount
'Remove an item from the ListBox using ListBox1.RemoveItem
Next i
Обновление - я не знаю, почему в моем ответе не было полного решения:
For i = ListBox1.ListCount - 1 to 0 Step - 1
ListBox1.RemoveItem i
Next i
Ответ 2
Псевдоэкспертный код (обновленный с помощью фактического кода):
Do While ComboBox1.ListCount > 0
ComboBox1.RemoveItem (0)
Loop
В основном, если у вас есть элементы, удалите первый элемент из поля со списком. Когда все элементы были удалены (count = 0), ваше поле пусто.
Метод 2: Еще лучше
ComboBox1.Clear
Ответ 3
Самый простой способ:
Combobox1.RowSource = "" 'Clear the list
Combobox1.Clear 'Clear the selected text
Ответ 4
Вы можете использовать метод ControlFormat:
ComboBox1.ControlFormat.RemoveAllItems
Ответ 5
Лучший способ:
Combobox1.items.clear();
Ответ 6
В Access 2013 я только что протестировал это:
While ComboBox1.ListCount > 0
ComboBox1.RemoveItem 0
Wend
Интересно, что если вы установите список элементов в свойствах, это не будет потеряно, когда вы выйдете из формы и вернитесь к Design View.
Ответ 7
Для Access VBA, который не предоставляет .clear метод для пользовательских форм comboboxes, это решение работает безупречно для меня:
If cbxCombobox.ListCount > 0 Then
For remloop = (cbxCombobox.ListCount - 1) To 0 Step -1
cbxCombobox.RemoveItem (remloop)
Next remloop
End If
Ответ 8
Private Sub cmdClear_Click()
ComboBox1.Value = Null
ComboBox2.Value = Null
End Sub
Ответ 9
me.Combobox1.Clear
Это общий метод