Comment remplir la zone de liste déroulante avec des valeurs uniques uniquement dans Excel?
Lorsque vous créez une zone de liste déroulante avec une liste de données qui incluent des valeurs en double, les valeurs en double ne seront pas exclues automatiquement dans la zone de liste déroulante. Dans ce cas, comment pourriez-vous n'afficher que des éléments uniques dans votre liste déroulante? Peut-être que ce tutoriel peut vous rendre service.
Remplissez la zone de liste déroulante avec des valeurs uniques uniquement en utilisant le code VBA
Remplissez la zone de liste déroulante avec des valeurs uniques uniquement en utilisant le code VBA
Le code VBA suivant peut vous aider à ajouter les valeurs uniques lors de la création d'une zone de liste déroulante, procédez comme suit:
1. Insérez d'abord une zone de liste déroulante, veuillez cliquer Développeur > insérer > Zone de liste déroulante (contrôle ActiveX), puis faites glisser la souris pour dessiner une zone de liste déroulante, voir capture d'écran:
2. Ensuite, cliquez avec le bouton droit sur la zone de liste déroulante et choisissez Voir le code depuis le menu contextuel, voir capture d'écran:
3. Et le Microsoft Visual Basic pour applications La fenêtre apparaît, veuillez copier et coller le code suivant pour remplacer le code d'origine.
Code VBA: combo avec des valeurs uniques:
Public Sub Populate_combobox_with_Unique_values()
'Updateby Extendoffice
Dim vStr, eStr
Dim dObj As Object
Dim xRg As Range
On Error Resume Next
Set dObj = CreateObject("Scripting.Dictionary")
Set xRg = Application.InputBox("Range select:", "Kutools for Excel", _
ActiveWindow.RangeSelection.AddressLocal, , , , , 8)
vStr = xRg.Value
Application.ScreenUpdating = False
With dObj
.comparemode = 1
For Each eStr In vStr
If Not .exists(eStr) And eStr <> "" Then .Add eStr, Nothing
Next
If .Count Then
ActiveSheet.ComboBox1.List = WorksheetFunction.Transpose(.keys)
End If
End With
Application.ScreenUpdating = True
End Sub
Notes: Dans le code ci-dessus, le ComboBox1 est le nom de la liste déroulante que vous avez créée, vous pouvez la modifier selon vos besoins.
4. Puis appuyez F5 clé pour exécuter ce code, et dans la boîte de dialogue, sélectionnez la liste de sources de données que vous souhaitez ajouter dans la zone de liste déroulante, voir capture d'écran:
5. Et puis cliquez OK bouton, seules les valeurs uniques sont affichées dans la zone de liste déroulante, voir capture d'écran:
Conseil : Si il n'y a pas Développeur onglet dans le ruban, cet article Comment afficher / afficher l'onglet développeur dans le ruban Excel 2007/2010/2013? peut vous rendre service pour afficher l'onglet Développeur.
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!