Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

XL2000: How to Remove All Items from a ListBox or ComboBox


View products that this article applies to.

This article was previously published under Q213721

↑ Back to the top


Summary

There is no single method that you can use to remove all items from a ListBox or ComboBox control on a UserForm. The method that you use to remove an item depends on whether the ListBox or ComboBox control is bound to a worksheet. This article contains examples that remove items from a sample control that is bound to a worksheet and a sample control that is not bound to a worksheet.

↑ Back to the top


More information

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs.
If you have limited programming experience, you may want to contact a Microsoft Certified Partner or Microsoft Advisory Services. For more information, visit these Microsoft Web sites:

Microsoft Certified Partners - https://partner.microsoft.com/global/30000104

Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

ListBox or ComboBox Control That Is Bound to a Worksheet

To build a sample UserForm that contains a ListBox control that is bound to a worksheet and then remove items in the control, follow these steps:
  1. Close and save any open workbooks, and then create a new workbook.
  2. On Sheet1, type the following values:
           A1: Alpha
           A2: Bravo
           A3: Charlie
           A4: Delta
           A5: Echo
    					
  3. Start the Visual Basic Editor (press ALT+F11).
  4. If the Properties window is not visible, click Properties on the View menu (or press F4).
  5. If the Project Explorer window is not visible, click Project Explorer on the View menu.
  6. On the Insert menu, click UserForm.
  7. Draw a ListBox control on the UserForm.
  8. Switch to the Properties window (press F4).
  9. Change the RowSource property of the ListBox control to the following value:
    Sheet1!A1:A5
  10. Draw a CommandButton control on the UserForm.
  11. Double-click the CommandButton to open the code window for the CommandButton.
  12. In the module, type the following code for the CommandButton Click event:
    Private Sub CommandButton1_Click()
        ListBox1.RowSource = ""
    End Sub
    					
  13. Run the UserForm.

    The list box that you added to the UserForm is populated with the values that you entered on Sheet1.
  14. Click the CommandButton.
All of the items are removed from ListBox1.

ListBox or ComboBox That Is Not Bound to a Worksheet

To build a sample UserForm that contains a ListBox control that is populated with an array of values when the UserForm loads, and to then remove items in the control, follow these steps:
  1. Close and save any open workbooks, and then create a new workbook.
  2. Start the Visual Basic Editor (press ALT+F11).
  3. If the Properties window is not visible, click Properties on the View menu (or press F4).
  4. On the Insert menu, click UserForm.
  5. Double-click the UserForm to open the code window for the UserForm.
  6. In the module, type the following code for the UserForm Initialize event:
    Private Sub UserForm_Initialize()
        Dim MyArray As Variant
        Dim i As Integer
    
        'Initialize array with values to populate ListBox.
        MyArray = Array("Alpha", "Bravo", "Charlie", "Delta","Echo")
    
        For i = LBound(MyArray) To Ubound(MyArray)
    
            'Add a value from MyArray to ListBox1.
            UserForm1.ListBox1.AddItem MyArray(i)
    
        Next
    End Sub
    						
    This procedure populates ListBox1 when the UserForm is loaded.
  7. Draw a ListBox control on the UserForm.
  8. Draw a CommandButton control on the UserForm.
  9. Double-click the CommandButton to open the code window for the CommandButton.
  10. In the module, type the following code for the CommandButton Click event:
    Private Sub CommandButton1_Click()
        Dim i As Integer
    
        For i = 1 To ListBox1.ListCount
    
            'Remove an item from the ListBox.
            ListBox1.RemoveItem 0
    
        Next i
    End Sub
    						
    This Visual Basic procedure removes all of the items from ListBox1.
  11. Run the UserForm.
  12. Click the CommandButton.
All of the items are removed from ListBox1.

↑ Back to the top


References

For more information about using the ListBox control, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type listbox control in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

For more information about using the RowSource property, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type rowsource property in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

For more information about using the RemoveItem method, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type removeitem method in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

↑ Back to the top


Keywords: KB213721, kbui, kbprogramming, kbhowto

↑ Back to the top

Article Info
Article ID : 213721
Revision : 8
Created on : 11/23/2006
Published on : 11/23/2006
Exists online : False
Views : 295