web-dev-qa-db-ja.com

ComboBoxからすべてのアイテムを削除しますか?

VBAのコンボボックスからすべてのアイテムをプログラムで削除するにはどうすればよいですか?

17
sooprise

残念ながら、それぞれを個別に削除する必要があります。

       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 
28

事前の擬似コード(実際のコードで更新):

Do While ComboBox1.ListCount > 0
    ComboBox1.RemoveItem (0)
Loop

基本的に、アイテムがある間、最初のアイテムをコンボボックスから削除します。すべてのアイテムが削除されると(カウント= 0)、ボックスは空白になります。

方法2:さらに良い

ComboBox1.Clear
28
Tommy

最も簡単な方法:

Combobox1.RowSource = ""  'Clear the list
Combobox1.Clear           'Clear the selected text
10
Hendry Halim

ControlFormatメソッドを使用できます。

ComboBox1.ControlFormat.RemoveAllItems
5
David

最良の方法:

Combobox1.items.clear();
3
Mr_Hmp

ユーザーフォームコンボボックスで.clearメソッドを提供しないAccess VBAの場合、このソリューションは問題なく機能します。

   If cbxCombobox.ListCount > 0 Then
        For remloop = (cbxCombobox.ListCount - 1) To 0 Step -1
            cbxCombobox.RemoveItem (remloop)
        Next remloop
   End If
1
Tim Wray

me.Combobox1.Clear

これは一般的な方法です

0
Henning Lee

Access 2013では、これをテストしたばかりです。

While ComboBox1.ListCount > 0
    ComboBox1.RemoveItem 0
Wend

興味深いことに、[プロパティ]でアイテムリストを設定した場合、フォームビューを終了してデザインビューに戻ってもこれは失われません。

0
Pat Harkin