如何以编程方式从VBA中的组合框中删除所有项目?
答案 0 :(得分:28)
Psuedo代码提前(用实际代码更新):
Do While ComboBox1.ListCount > 0
ComboBox1.RemoveItem (0)
Loop
基本上,当您有物品时,请从组合框中移除第一个物品。删除所有项目后(count = 0),您的框为空白。
方法2:更好
ComboBox1.Clear
答案 1 :(得分:26)
不幸的是,您需要逐个删除每个:
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 :(得分:9)
最简单的方法:
Combobox1.RowSource = "" 'Clear the list
Combobox1.Clear 'Clear the selected text
答案 3 :(得分:5)
您可以使用ControlFormat方法:
ComboBox1.ControlFormat.RemoveAllItems
答案 4 :(得分:3)
最佳方式:
Combobox1.items.clear();
答案 5 :(得分:1)
对于Access VBA,它没有为用户表单组合框提供.clear方法,这个解决方案对我来说完美无缺:
If cbxCombobox.ListCount > 0 Then
For remloop = (cbxCombobox.ListCount - 1) To 0 Step -1
cbxCombobox.RemoveItem (remloop)
Next remloop
End If
答案 6 :(得分:1)
对于Access VBA,如果已将ComboBox填充为值列表的行源类型,则可以找到以下作品:
ComboBox.RowSource = ""
答案 7 :(得分:0)
在Access 2013中,我刚刚对此进行了测试:
While ComboBox1.ListCount > 0
ComboBox1.RemoveItem 0
Wend
有趣的是,如果在“属性”中设置项目列表,则退出“表单视图”并返回“设计视图”时不会丢失该项目。
答案 8 :(得分:0)
me.Combobox1.Clear
这是常用方法
答案 9 :(得分:0)
我不清楚工作。 (Mac Excel) 但是确实如此。
ActiveSheet.DropDowns(“ CollectionComboBox”)。RemoveAllItems
答案 10 :(得分:0)
如果您只想删除组合框中的值:
me.combobox = ""
如果要删除组合框的记录集,最简单的方法是:
me.combobox.recordset = ""
me.combobox.requery
答案 11 :(得分:-1)
Private Sub cmdClear_Click()
ComboBox1.Value = Null
ComboBox2.Value = Null
End Sub