Microsoft KB Archive/170305

= XL97: List Box Click Event May Not Occur =

Article ID: 170305

Article Last Modified on 10/22/2000

-

APPLIES TO


 * Microsoft Excel 97 Standard Edition

-



This article was previously published under Q170305



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, please see the example in the "More Information" section in this article.



MORE INFORMATION
Microsoft provides examples of Visual Basic for Applications procedures 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. The Visual Basic procedures in this article are provided 'as is' and Microsoft does not guarantee that they can be used in all situations. While Microsoft support professionals can help explain the functionality of a particular macro, they will not modify these examples to provide added functionality, nor will they help you construct macros to meet your specific needs. If you have limited programming experience, you may want to consult one of the Microsoft Solution Providers. Solution Providers offer a wide range of fee-based services, including creating custom macros. For more information about Microsoft Solution Providers, call Microsoft Customer Information Service at (800) 426-9400.

The following example uses the MouseUp event for a ListBox control on a UserForm:

 Save and close all open workbooks, and then create a new workbook. Enter the following on Sheet1:

A1: a

A2: b

A3: c

 Press ALT+F11 to start the Visual Basic Editor. On the Insert menu, click UserForm to insert a UserForm into the project. Draw a ListBox control on the UserForm and set the RowSource property to the following value:

Sheet1!A1:A3

 Double-click the ListBox control to display the module associated with the UserForm.</li>  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 </li> Run the UserForm.</li> Click any item in the list box.</li></ol>

A message box appears with the value of the currently selected item.

<div class="references_section">