Innholdsfortegnelse
Avhengig av omstendighetene må du kanskje velge flere verdier i en rullegardinliste. I denne opplæringen skal vi vise deg hvordan du gjør flere valg i en rullegardinliste. For denne økten bruker vi Excel 2019, bruk gjerne din foretrukne versjon.
Før du dykker inn i økten, la oss bli kjent med datasettet som er grunnlaget for eksemplene våre.
Her har vi flere skrivesaker, ved å bruke disse vil vi lage en rullegardinliste og velge flere elementer der.
Merk at det er et enkelt datasett for å holde ting enkelt . I et praktisk scenario kan du støte på et mye større og komplekst datasett.
Øvingsarbeidsbok
Du er velkommen til å laste ned øvingsarbeidsboken fra lenken nedenfor.
Gjør flere valg fra rullegardinliste.xlsm
Flervalg i en rullegardinliste
Først og fremst må vi lage en nedtrekksliste på grunnlag av brevpapirene våre. La oss lage det raskt. Ikke nøl med å besøke artikkelen om å lage en rullegardinliste.
I dialogboksen Datavalidering velger du datatypen LISTE og setter inn celleområdet til elementene.
B4:B11 er området som inneholder skrivesakerelementene. Nå finner du rullegardinlisten.
Les mer: Excel-rullegardinliste avhengig av utvalg
1. VelgFlere elementer (tillater duplikatvalg)
En konvensjonell rullegardinliste velger alltid et enkelt element. Her kan du se at vi har valgt Penn fra listen (bildet nedenfor).
Nå, hvis vi velger et annet element, la oss si Blyant
så vil den erstatte den forrige verdien. Bare Blyant vil forbli valgt.
For å velge flere elementer, må vi bruke VBA -koden. Åpne Microsoft Visual Basic for Applications -vinduet (trykk ALT + F11 for å åpne det).
Dobbeltklikk nå på regnearkets navn eller nummer der du vil velge flere elementer i rullegardinlisten. Du finner kodevinduet for det aktuelle arket.
Her er kodevinduet for Ark2 i arbeidsboken vår (vi har rullegardinmenyen liste i dette arket).
Når kodevinduet er åpnet, sett inn følgende kode der
6057
Lagre koden, og prøv nå å velge verdier i rullegardinlisten.
Etter å ha valgt Blyant , skal vi velge et annet element Notatbok . Og du kan se, vi fant begge elementene (bildet nedenfor).
Denne koden lar oss gjenta valget. La oss si at hvis vi velger Blyant igjen,
finner vi gjenstanden igjen i valgboksen.
Kodeforklaring
Vi har erklært to strenger Oldvalue og Nyverdi .
Du kan se at vi har laget rullegardinlisten i D4 -cellen, det er derfor måladressen vår er D4 . Og i tillegg har vi sjekket på nytt om cellen bruker datavalidering eller ikke bruker Target.SpecialCells .
Når en verdi er valgt, har vi slått av hendelser ( Application.EnableEvents = False
), så endringer gjør' t utløse hendelsen igjen. Lagret deretter det valgte elementet i Nyverdi .
Etter å ha angret endringen har vi satt verdien inn i Gammelverdi . Sjekk deretter om Gamleverdien er tom eller ikke. Hvis tom (betyr at bare én verdi er valgt), returnerer du Nyverdi . Hvis ikke, sett sammen Gamle verdi og Nyverdi .
Før du avslutter tilbakestillingen, slik at vi kan endre om nødvendig.
Les mer: Multiple Dependent Drop-Down List Excel VBA
2. Velg flere elementer fra rullegardinlisten (kun unikt utvalg)
I den tidligere delen , har vi sett de flere valgene der repetisjon var tillatt. Hvis du ikke vil ha det, følg denne delen.
For enkelhets skyld brukte vi et eget ark for denne demonstrasjonen. Denne gangen er vi på Sheet3. Skriv følgende kode i kodevinduet for dette arket.
9285
Er det noen forskjell i forhold til den tidligere koden! Ta en nærmere titt, du vil kunne se den lille forskjellen.
Her har vi brukt en VBA funksjon kalt INSTR . Funksjonen INSTR returnerer posisjonen til den første forekomsten av en delstreng i en streng. Besøk denne INSTR-artikkelen for mer informasjon.
Ved å bruke denne logiske operasjonen med InStr(1, Oldvalue, Newvalue) = 0, har vi sjekket om verdiene er funnet eller ikke. Hvis den logiske operasjonen returnerer TRUE (ikke funnet tidligere), lar den velge elementet og slå sammen med den tidligere verdien.
Lagre koden og prøv nå å velge et element som allerede har blitt valgt.
Her har vi allerede valgt Blyant , hvis vi vil velge det igjen, kan vi ikke. Den tillater ikke dupliserte verdier.
Les mer: Hvordan lage en rullegardinliste fra et annet ark i Excel
3. Velg Elementer i Newline
Så langt har vi funnet at elementene er atskilt med komma. I denne delen vil vi ordne de valgte elementene i nye linjer.
For enkelhets skyld slår vi sammen noen få celler med D4 -cellen. For å gjøre det, velg cellene du vil slå sammen og klikk Slå sammen & Sentrer fra Alignment -delen av Hjem -fanen.
Cellen vil få mer høyde.
Nå, la oss se på koden for å skille varer gjennom ny linje. Bruk følgende kode
3887
Den eneste forskjellen fra forrige kode er at vi denne gangen brukte vbNewLine mellom OldValue og NewValue .
vbNewLine gir en ny linje mellom elementene.
Velg nå elementene.
Vi velger et element Penn som vises i bildet ovenfor. Velg nå et annet element.
Du finner de to elementene på forskjellige linjer.
Her har vi to verdier, som er i to forskjellige linjer. Hvis du velger en annen verdi, legges den til en annen linje. Hver verdi vil være på en ny linje.
Vær oppmerksom på at hvis du vil at en annen skilletegn skal skille elementene, bruker du den innenfor doble anførselstegn i stedet for vbNewline .
Konklusjon
Det var alt for i dag. Vi har listet opp flere tilnærminger for å gjøre flere valg i en rullegardinliste. Håper du finner dette nyttig. Kommenter gjerne hvis noe virker vanskelig å forstå. Gi oss beskjed om andre metoder vi har gått glipp av her.