Microsoft KB Archive/170305

From BetaArchive Wiki

Article ID: 170305

Article Last Modified on 10/22/2000


  • Microsoft Excel 97 Standard Edition

This article was previously published under Q170305


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.


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.


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.


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:

  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 UserForm into the project.
  5. Draw a ListBox control on the UserForm and set the RowSource property to the following value:


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

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


For more information about the Click event, click the Office Assistant in the Visual Basic Editor, type click event,click Search, and then click to view "Click Event."

NOTE: If the Assistant is hidden, click the Office Assistant button on the Standard toolbar. If Microsoft Help is not installed on your computer, please see the following article in the Microsoft Knowledge Base:

120802 Office: How to Add/Remove a Single Office Program or Component

Additional query words: fire trigger

Keywords: kbprogramming kbprb kbcode KB170305