Puis-je définir une ComboBox Excel pour avoir une valeur par défaut?
Mon ComboBox (nommé ddDatabase
) peut avoir l'une des deux valeurs. Ces deux valeurs sont extraites d'un tableau dans une feuille de calcul distincte. Quand j'ouvre le fichier Excel, cependant, aucun de ces deux valeurs sont sélectionnées. Au lieu de la zone de liste déroulante s'affiche vide. Est-il possible de définir explicitement une valeur par défaut?
Après quelques tests, il semble que si le fichier Excel est enregistré avec le premier élément de la zone de liste déroulante sélectionnée, la prochaine fois le fichier ne s'ouvre pas, il sera par défaut à vide. Sélectionner une autre valeur dans la liste déroulante autres que le premier préserver la sélection après que vous enregistrez, fermez et rouvrez-le.
J'ai essayé d'utiliser VBA pour résoudre ce problème en définissant la valeur lorsque le classeur est ouvert à l'aide de ce code:
Sub Workbook_Activate()
Dim ddDatabase As DropDown
Set ddDatabase = ActiveSheet.DropDowns("ddDatabase")
ddDatabase.Value = 1
End Sub
Malheureusement, il génère l'erreur suivante:
unable to set the value property of the dropdown class
Est-il une solution à cela?
Vous devez vous connecter pour publier un commentaire.
Utiliser ceci:
Vous devez spécifier la valeur à la création (ou à l'ouverture du classeur, ou de la forme ouverte si c'est dans un formulaire).
Edit:
Vous pourriez souhaitez modifier une liste de validation si c'est plus souple pour vous:
La première ligne de commentaire est pour la mise en place de la liste, le second est votre source de valeurs (les deux valeurs).
unable to set the value property of the dropdown class
.Unable to get the List property of the DropDown class
Vous pouvez définir manuellement. Peut-être le faire sur l'événement "workbook_open".
Quand je l'ai essayé dans Excel 2013, c'était aussi simple que la sélection d'un des deux éléments dans cette zone de liste déroulante, puis d'enregistrer le classeur. La prochaine fois, je l'ai ouvert, celle que j'ai choisie a montré que le "par défaut".
Il a même travaillé lorsque j'ai mis l'une des deux sources de cellules de
=NOW()
(de sorte que la valeur affichée serait différent la prochaine fois, je l'ai ouvert), puis sélectionné et enregistré. La prochaine fois, je l'ai ouvert, il y avait encore la (mise à jour) de la valeur de=NOW()
affiché dans la zone de liste déroulante.Sauf si vous avez besoin d'un pur-solution VBA?
Faire de votre valeur par défaut, la première option dans le menu déroulant.