Macro Assigned to List Box Fails (124330)
The information in this article applies to:
- Microsoft Excel 97 for Windows
- Microsoft Excel for Windows 95
- Microsoft Excel for Windows 5.0
- Microsoft Excel 98 Macintosh Edition
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.)
WORKAROUNDMicrosoft 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.
REFERENCES
"Visual Basic User's Guide," version 5.0, Chapter 11, "Controls and Dialog
Boxes"
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
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:
and double click the selected text to display the "Information on
Controls" topic.
Modification Type: | Minor | Last Reviewed: | 8/15/2005 |
---|
Keywords: | kbbug kbdtacode kbpending kbProgramming KB124330 |
---|
|