Forum Discussion
VBA Drop Down List
Are you having any other events like KeyPress or KeyDown etc?
If I insert a dummy ComboBox and have the Change and GotFocus events, I can use my up and down arrow keys to scroll up and down.
Why not upload the file in question after removing the sensitive data if any?
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode <> 40 And KeyCode <> 38 Then
ComboBox1.ListFillRange = "DropDownListv1"
Me.ComboBox1.DropDown
Else
KeyCode = 0
End If
End Sub
- Subodh_Tiwari_sktneerSep 10, 2019Silver Contributor
That code is the culprit.
Basically with that code, you are asking the code to check, if UP arrow key (KeyCode-38) or Down arrow key (KeyCode-40) is pressed, don't do anything and disable those keys when you say KeyCode = 0 in the Else clause.
What's the need of that code? Why are you having same code with multiple events?
Delete this KeyDown event code and your ComboBox will start working.
- AnggieSep 10, 2019Copper ContributorWell the reason I added the keypress event was because I want the list to update while I type in the combo box. The problem with that is when I use the up and down arrow keys to scroll down the list it crashes and I would lose the initial codes I used. That is why I added the two keypress events.
- Subodh_Tiwari_sktneerSep 10, 2019Silver Contributor
I am not sure what exactly you are trying to do.
All I can suggest is, disable all the codes for ComboBox1 and have only one code which should be as below to set the ListFillRange once the ComboBox gets focus.
Private Sub ComboBox1_GotFocus() ComboBox1.ListFillRange = "DropDownListv1" End Sub
And then see if your ComboBox starts behaving normal and then think of adding other codes for ComboBox events if required.