Microsoft KB Archive/124330

= Macro Assigned to List Box Fails =

Article ID: 124330

Article Last Modified on 8/15/2005

-

APPLIES TO


 * Microsoft Excel 97 Standard Edition
 * Microsoft Excel 95 Standard Edition
 * Microsoft Excel 5.0 Standard Edition
 * Microsoft Excel 98 for Macintosh

-



This article was previously published under Q124330





SYMPTOMS
When you click an item in a list box or a drop-down list box control, the macro that you assigned to the list box or drop-down list box fails to run.



CAUSE
This behavior occurs when the following conditions are true:


 * You add a list box with a Selection Type of Single or a drop-down list box control (called a combo box in Excel 97) to a worksheet. -and-


 * You assign a macro to the list box or a drop-down list box. -and-


 * The item you click in the list box or drop-down list box is the only item in the control. -or-


 * You consecutively click the same item in the list box or drop-down list box. (That is, the currently selected item is not changed.)



WORKAROUND
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements. To work around this behavior, use any of the following methods.

Method 1
Make sure that the list box or drop-down list box contains at least two items and that you select an item that is different from the currently selected item.

Method 2
When you format the list box control (double-click the control), use the Extend or Multi Selection Type property. This selection type allows the macro to detect a change in the status of the list box.

NOTE: This applies only the the list box control. The drop-down control does not have a Selection Type property.

Method 3
Set or reset the ListIndex property to 0. For example, use the following line of code: ActiveSheet.ListBoxes(1).ListIndex = 0



MORE INFORMATION
A list box can run a macro based on the changes that occur in that list box. When you select an item that is different from the current selection, a single or extended list box is changed. Therefore, if the list box contains only one item, or if you reselect the same item, the macro is not run.



Microsoft Excel 97
For more information about using list box controls, click Contents And Index on the Help menu, click the Index tab in Microsoft Excel Help, type the following text

controls

and then double-click the selected text to go to the "About control properties for list boxes and combo boxes" topic. If you are unable to find the information you need, ask the Office Assistant.

Microsoft Excel 7.0
For more information about using list box controls in Microsoft Visual Basic for Applications, click the Index tab in Microsoft Excel Help, type the following text

controls (dialog box), list boxes

and then double-click the selected text to go to the "ListBox Object" topic.

Microsoft Excel 5.0
For more information on using list box controls in Microsoft Visual Basic for Applications, click Help in Microsoft Excel, click "Search for Help on," type the following text:

controls

and double click the selected text to display the "Information on Controls" topic.

Additional query words: 5.00a 5.00c 7.00a 97 XL97 XL

Keywords: kbbug kbprogramming kbdtacode kbpending KB124330

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.