从ComboBox中删除所有项目?

soo*_*ise 17 vba combobox

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

Tom*_*mmy 29

提前的Psuedo代码(用实际代码更新):

Do While ComboBox1.ListCount > 0
    ComboBox1.RemoveItem (0)
Loop
Run Code Online (Sandbox Code Playgroud)

基本上,当你有物品时,从组合框中删除第一个项目.删除所有项目(count = 0)后,您的框为空白.

方法2:更好

ComboBox1.Clear
Run Code Online (Sandbox Code Playgroud)

  • @Sham Yemul:我可以确认ComboBox.Clear确实有效,至少从ActiveX ComboBox控件上的Excel 2010开始. (2认同)

Rob*_*boy 28

不幸的是,您需要逐个删除每个:

       For i = 1 To ListBox1.ListCount

           'Remove an item from the ListBox using ListBox1.RemoveItem 
       Next i
Run Code Online (Sandbox Code Playgroud)

更新 - 我不知道为什么我的答案没有包含完整的解决方案:

For i = ListBox1.ListCount - 1 to 0 Step - 1 
        ListBox1.RemoveItem i 
Next i 
Run Code Online (Sandbox Code Playgroud)


小智 10

最简单的方法:

Combobox1.RowSource = ""  'Clear the list
Combobox1.Clear           'Clear the selected text
Run Code Online (Sandbox Code Playgroud)

  • 第一行可在Access VBA中使用!二线不好。 (3认同)

小智 5

您可以使用ControlFormat方法:

ComboBox1.ControlFormat.RemoveAllItems
Run Code Online (Sandbox Code Playgroud)