DropButtonClick

tiredofit

Well-known Member
Joined
Apr 11, 2013
Messages
1,834
Office Version
  1. 365
  2. 2019
Platform
  1. Windows
I have a combobox on my userform.

I want the code to trigger when I click on the dropdown arrow, so I used this:

Code:
Private Sub Fruit_DropButtonClick()

    With Me.Fruit
        
        .Clear
        
        .AddItem "Apples"
        .AddItem "Oranges"
    
    End With
    
End Sub

but it seems after I have clicked on the dropdown and chosen a value, the combobox is empty.

Why is that?

I added:

Code:
.Clear

because if I didn't, if I click on the dropdown n times, there will be n "Apples" and "Oranges", opposed to only having one of each.

Thanks
 

Excel Facts

Square and cube roots
The =SQRT(25) is a square root. For a cube root, use =125^(1/3). For a fourth root, use =625^(1/4).
Hi Tiredofit,
Maybe insteade of DropButtonClick to use MouseDown?
VBA Code:
Private Sub Fruit_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      With Me.Fruit
        .Clear
        .AddItem "Apples"
        .AddItem "Oranges"
    End With
    Call Fruit_Click
End Sub

Private Sub Fruit_Click()
    Range("A1").Value = Me.Fruit.Value
End Sub
 
Upvote 0
Hi Tiredofit,
Maybe insteade of DropButtonClick to use MouseDown?
VBA Code:
Private Sub Fruit_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      With Me.Fruit
        .Clear
        .AddItem "Apples"
        .AddItem "Oranges"
    End With
    Call Fruit_Click
End Sub

Private Sub Fruit_Click()
    Range("A1").Value = Me.Fruit.Value
End Sub
Thanks.

What is the difference between the two?
 
Upvote 0
The difference is that
but it seems after I have clicked on the dropdown and chosen a value, the combobox is empty
after choosing a value, the combobox shows the chosen value, it is not empty. Am I mistaken?:unsure:
 
Upvote 0
The difference is that
but it seems after I have clicked on the dropdown and chosen a value, the combobox is empty
after choosing a value, the combobox shows the chosen value, it is not empty. Am I mistaken?:unsure:
I mean Dropdown doesn't seem to retain the value but why?
 
Upvote 0
Sorry, misunderstood, I have no idea as well
 
Upvote 0
I think it is because the DropButtonClick event also fires when an item from the list is chosen.
 
Upvote 0
I think it is because the DropButtonClick event also fires when an item from the list is chosen.
Thanks.

It does seem a bit buggy though.

Code:
https://stackoverflow.com/questions/12065420/populate-a-combobox-in-dropbuttonclick
 
Upvote 0
Checking against the ListIndex may work for you as follows :
VBA Code:
Private Sub Fruit_DropButtonClick()
 
    If Fruit.ListIndex = -1 Then
        With Me.Fruit
            .Clear
            .AddItem "Apples"
            .AddItem "Oranges"
        End With
    End If

End Sub
 
Upvote 0
Solution
Checking against the ListIndex may work for you as follows :
VBA Code:
Private Sub Fruit_DropButtonClick()
 
    If Fruit.ListIndex = -1 Then
        With Me.Fruit
            .Clear
            .AddItem "Apples"
            .AddItem "Oranges"
        End With
    End If

End Sub
Thanks
 
Upvote 0

Forum statistics

Threads
1,215,500
Messages
6,125,168
Members
449,211
Latest member
ykrcory

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top