Home |
Search |
Today's Posts |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You are absolutely right... what I said does not apply to the VBA ComboBox
in the Office product line. It *does* apply to the compiled VB world's ComboBox and I made the mistake of assuming the same base control would be behind both implementations. But, as your message points out, I was wrong in that belief and I apologize if I have misled anyone because of it. I do have to say, though, that having the Change event fire whether the text is changed *or* the list is Clicked seems to make it a less useful event than the one in the compiled VB world. Over there, a Click event is reserved solely for a manual selection from the list itself and the Change event for a manual change to the text in the text field itself... there is no overlap between the two and that makes, in my opinion, for easier coding. I'm a little surprised that this event model was not carried through to the Office ComboBox. By the way, thank you for bringing this to my attention... I really appreciate it. Rick "Tim Zych" <tzych@NOSp@mE@RTHLINKDOTNET wrote in message ... The Change event of a ComboBox gets fired only when the text is manually changed... not from selecting from the list. I don't think so Rick. If you create a sample form/cbo and try it out you should see. Type in a value, or select from the list in any way, and the change event is triggered. The help file has been updated, I believe, to include a lot more details about the control and the change/click events than prior versions documented. ---------------------------------------------------------- From the help file in XL2003, Combobox control - Events - ------------------ Change event: ------------------ The Change event occurs when the setting of the Value property changes, regardless of whether the change results from execution of code or a user action in the interface. Note In some cases, the Click event may also occur when the Value property changes. However, using the Change event is the preferred technique for detecting a new value for a property. ---------------------------------------------------------- Private Sub ComboBox1_Change() MsgBox "change" End Sub Private Sub UserForm_Initialize() With Me.ComboBox1 .AddItem "a" .AddItem "b" .AddItem "c" End With End Sub Tim Zych SF, CA "Rick Rothstein (MVP - VB)" wrote in message ... The Change event of a ComboBox gets fired only when the text is manually changed... not from selecting from the list. I suspect you have code in your Change event which you think is doing something that actually is happening automatically; hence, when you type into the text field, whatever happens automatically takes place and then something in your Change event code makes it happen again. I can't tell you any more than that because you didn't post your code for us to look at. Rick "Smurfette18" wrote in message ... Hello, I have combo box that allows users to select from a list or enter a value freeform. I also have a change event for this combo box. Everything works fine when the user selects from the list, but when he or she enters a value by hand, the change event sometimes fires twice for no apparent reason. For instance, if you select "0" from the list, it fires once, but if you type "0" directly in the box, it fires twice. I already tried disabling events before my code and re- enabling them after it runs, but that did not work. Any help would be appreciated. Thanks! |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How Capture Cell Value Before Change Event Fires? | Excel Programming | |||
Change event on single cell fires many times | Excel Programming | |||
Application.EnableEvents = true, but no event fires | Excel Programming | |||
worksheet_change event fires multiple times | Excel Programming | |||
worksheet_change event fires multiple times | Excel Programming |