2017-09-27 1 views
-2

Tous,Userform Liste déroulante VBA

J'ai créé un Userform (Userform 3) que je souhaite avoir une baisse de base dans la liste déroulante des 4 articles - Pommes/Oranges/poires/bananes. (Codé en dur dans le fond VBA) et si aucune des sélections n'est sélectionnée par les utilisateurs pour quitter sub.

S'il vous plaît quelqu'un peut-il conseiller comment je voudrais faire cela?

Image insérée pour référence?

enter image description here

+3

Faites quoi exactement? Quitter si rien n'est sélectionné? 'Si cmb.listindex = -1 puis quitter sous – braX

Répondre

1

Pour remplir la zone de liste déroulante Fruits_CB sur l'événement UserForm_Initialize utiliser le code ci-dessous:

Private Sub UserForm_Initialize() 

' populate "Fruits_CB" Combo-Box with fruits 
With Me.Fruits_CB 
    .Clear ' clear previous items (not to have "doubles") 
    .AddItem "Apples" 
    .AddItem "Oranges" 
    .AddItem "Pears" 
    .AddItem "Bananas" 
End With 

End Sub 

Si l'utilisateur ne sélectionne tout élément de la liste, puis clique sur le bouton, l'utilisation le Sub ci-dessous:

Private Sub CommandButton1_Click() 

If Me.Fruits_CB.ListIndex = -1 Then 
    Exit Sub 
Else 
    ' Do something  
End If 

End Sub 
+0

Merci pour ce qui précède - Mon Userform est appelé UserForm3 qui provoque une erreur sur les lignes" Fruits_CB "pouvez-vous conseiller comment je résoudre ce problème? –

+1

Fruits_CB est le nom de la combobox, le userform est référencé par le mot-clé "Me". Vous devez changer Fruits_CB en fonction de votre combobox. @SeanBailey – eirikdaude

+0

@SeanBailey avez-vous compris ce que Eirikdaude vous a écrit dans le commentaire ci-dessus? –