XL2000: List Box Click Event May Not Occur (211759)



The information in this article applies to:

  • Microsoft Excel 2000

This article was previously published under Q211759

SYMPTOMS

When you create a macro and attach it to the Click event for a ListBox control, the macro may not run when you click the list box.

CAUSE

When you create a Click event macro that is attached to a ListBox control, the macro runs only when the value in the ListBox control changes. The Click event does not occur if you click the same value in the control.

RESOLUTION

To run a macro whenever you click a ListBox control, use another event, such as the MouseDown or MouseUp event. For more information, see the example in the "More Information" section later in this article.

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 the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site: For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site: The following example uses the MouseUp event for a ListBox control on a user form:
  1. Save and close all open workbooks, and then create a new workbook.
  2. Enter the following on Sheet1:
       A1: a
       A2: b
       A3: c
    					
  3. Press ALT+F11 to start the Visual Basic Editor.
  4. On the Insert menu, click UserForm to insert a user form into the project.
  5. Draw a ListBox control on the user form and set the RowSource property to the following value:

    Sheet1!A1:A3

  6. Double-click the ListBox control to display the module associated with the user form.
  7. Enter the following code for the MouseUp event:
          Private Sub ListBox1_MouseUp(ByVal Button As Integer, _
             ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    
             MsgBox "Current ListBox value: " & ListBox1.Value
    
          End Sub
    					
  8. Run the user form.
  9. Click any item in the list box.
A message box appears with the value of the currently selected item.

REFERENCES

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

Modification Type:MajorLast Reviewed:9/27/2003
Keywords:kbcode kbprb kbProgramming KB211759