Hoe maak je dynamische trapsgewijze keuzelijsten in Excel?
U weet misschien hoe u een vervolgkeuzelijst met trapsgewijze validatie in Excel kunt maken. Hoe maak je echter dynamische trapsgewijze keuzelijsten in Excel? Dit artikel introduceert een VBA-methode om het te verwijderen.
Maak dynamische trapsgewijze keuzelijsten met VBA-code
Maak dynamische trapsgewijze keuzelijsten met VBA-code
Zoals onderstaand screenshot laat zien, moet u een bovenliggende keuzelijst maken met de unieke waarden van de Drankkolom en alle bijbehorende waarden weergeven in de tweede keuzelijst op basis van selectie in de bovenliggende keuzelijst. De volgende VBA-code helpt u om dit te bereiken. Ga als volgt te werk.
1. Ten eerste moet u alle unieke waarden uit de kolom Drinken halen. Selecteer een lege cel en voer een matrixformule in =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") in de Formule balken druk vervolgens op Ctrl + Shift + Enter sleutel. Sleep vervolgens het Vul de handgreep om alle unieke waarden te krijgen. Zie screenshot:
Note: In de formule, $A$2:$A$11 is het bereik waaruit u unieke waarden haalt. J1 is de cel boven waar uw formule zich bevindt.
Tip: Als de formule te moeilijk te onthouden en te hanteren is, wordt de Selecteer Dubbele en unieke cellen nut van Kutools for Excel is een goede keuze om snel alle unieke waarden uit een kolom te extraheren.
Selecteer de kolom met unieke waarden waaruit u wilt extraheren. Schakel vervolgens het hulpprogramma in door op te klikken Kutools > kies > Selecteer Dubbele en unieke cellen. In de Selecteer Dubbele en unieke cellen dialoogvenster, selecteert u het Allemaal uniek (inclusief 1e duplicaten) optie en klik op de OK knop. Vervolgens worden alle unieke waarden in de kolom geselecteerd. Kopieer en plak ze op een nieuwe plaats. Zie screenshot:
Kutools for Excel: met meer dan 200 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 60 dagen. Download en probeer nu gratis!
2. Voeg twee keuzelijsten afzonderlijk in door op te klikken Ontwikkelaar > Invoegen > Keuzelijst (ActiveX-besturingselement). Zie screenshot:
3. Klik met de rechtermuisknop op de bovenliggende keuzelijst en selecteer Properties vanuit het contextmenu. In de Properties dialoogvenster, wijzigt u het (Naam) veld naar Drinken of een andere naam als u nodig heeft, voert u het celbereik in dat de geëxtraheerde unieke waarden bevat in de LijstVullenBereik veld en sluit het dialoogvenster.
4. Herhaal stap 3 om de tweede keuzelijst te wijzigen (Naam) veld naar Item in het Properties dialoog venster.
5. Klik met de rechtermuisknop op de bladtab en selecteer Bekijk code vanuit het rechtsklikmenu. Kopieer vervolgens onderstaande VBA-code naar het codevenster. Zie screenshot:
VBA-code: maak dynamische trapsgewijze keuzelijsten in Excel
Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
Dim I, xRows As Long
Dim xRg As Range
Dim xRegStr As String
Application.ScreenUpdating = False
xRegStr = Me.Drink.Text
Set xRg = Range("A2:A11")
xRows = xRg.Rows.Count
If xRegStr <> xPreStr Then
Me.Item.Clear
'Me.OtherListBoxName.Clear
Set xRg = xRg(1)
For I = 1 To xRows
If xRg.Offset(I - 1).Value = xRegStr Then
Me.Item.AddItem xRg.Offset(I - 1, 1).Value
'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
End If
Next
xPreStr = xRegStr
End If
Application.ScreenUpdating = True
End Sub
Opmerkingen: In de code Drinken en Artikel staan de namen van twee keuzelijsten, verander ze in uw eigen naam.
6. druk de anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster.
7. Schakel de ontwerpmodus uit door op te klikken Ontwikkelaar > Ontwerpmodus.
Vanaf nu worden bij het selecteren van een soort drank zoals Koffie in de bovenliggende keuzelijst alle koffie-items in de tweede weergegeven. Als u Thee of wijn selecteert, worden alleen de thee- of wijnitems in de tweede keuzelijst weergegeven. Zie screenshot:
Gerelateerde artikelen:
- Hoe de afhankelijke vervolgkeuzelijstcel te wissen na het selecteren van gewijzigd in Excel?
- Hoe maak je afhankelijke trapsgewijze vervolgkeuzelijsten in Excel?
- Hoe vul ik automatisch andere cellen in bij het selecteren van waarden in de vervolgkeuzelijst van Excel?
- Hoe maak je een vervolgkeuzelijstkalender in Excel?
- Hom selecties van ActiveX-keuzelijsten in Excel op te slaan of te behouden?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!