从ComboBox中删除所有项目?

时间:2010-06-08 14:22:19

标签: vba combobox

如何以编程方式从VBA中的组合框中删除所有项目?

12 个答案:

答案 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