Note: The other languages of the website are Google-translated. Back to English

Hvordan oprettes rullelisten med flere afkrydsningsfelter i Excel?

Mange Excel-brugere har tendens til at oprette rulleliste med flere afkrydsningsfelter for at vælge flere emner fra listen pr. Gang. Faktisk kan du ikke oprette en liste med flere afkrydsningsfelter med datavalidering. I denne vejledning skal vi vise dig to metoder til at oprette rulleliste med flere afkrydsningsfelter i Excel.

Brug listefelt til at oprette en rulleliste med flere afkrydsningsfelter
A: Opret en listeboks med kildedata
B: Navngiv den celle, hvor du vil finde de valgte emner
C: Indsæt en figur for at hjælpe med at output de valgte emner
Opret let rullelisten med afkrydsningsfelter med et fantastisk værktøj
Flere vejledninger til rullelisten ...


Brug listefelt til at oprette en rulleliste med flere afkrydsningsfelter

Som vist nedenfor i skærmbilledet, i det aktuelle regneark, vil alle navne i området A2: A11 være kildedataene i listeboksen. Klik på knappen i celle C4 kan output de valgte emner, og alle valgte emner i listeboksen vises i celle E4. For at opnå dette skal du gøre som følger.

A. Opret en listeboks med kildedata

1. klik Udvikler > indsatte > Listeboks (Aktiv X-kontrol). Se skærmbillede:

2. Tegn et listefelt i det aktuelle regneark, højreklik på det, og vælg derefter Ejendomme fra højreklikmenuen.

3. i Ejendomme dialogboks, skal du konfigurere som følger.

  • 3.1 I ListFillRange i feltet, skal du indtaste det kildeområde, du vil vise på listen (her indtaster jeg område A2: A11);
  • 3.2 I Listestil boks, vælg 1 - fmList StyleOption;
  • 3.3 I MultiSelect boks, vælg 1 - fmMultiSelectMulti;
  • 3.4 Luk Ejendomme dialog boks. Se skærmbillede:

B: Navngiv den celle, hvor du vil finde de valgte emner

Hvis du har brug for at outputte alle valgte emner til en bestemt celle, såsom E4, skal du gøre som følger.

1. Vælg celle E4, indtast ListBoxOutput ind i Navn Box og tryk på Indtast nøgle.

C. Indsæt en figur for at hjælpe med at udføre de valgte emner

1. klik indsatte > Former > Rektangel. Se skærmbillede:

2. Tegn et rektangel i dit regneark (her tegner jeg rektanglet i celle C4). Højreklik derefter på rektanglet, og vælg Tildel makro fra højreklikmenuen.

3. i Tildel makro dialogboksen, skal du klikke på knappen Ny .

4. I åbningen Microsoft Visual Basic til applikationer vindue, skal du udskifte den originale kode i Moduler vindue med nedenstående VBA-kode.

VBA-kode: Opret en liste med flere afkrydsningsfelter

Sub Rectangle1_Click()
'Updated by Extendoffice 20200730
Dim xSelShp As Shape, xSelLst As Variant, I, J As Integer
Dim xV As String
Set xSelShp = ActiveSheet.Shapes(Application.Caller)
Set xLstBox = ActiveSheet.ListBox1
If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    xStr = ""
    xStr = Range("ListBoxOutput").Value
    
    If xStr <> "" Then
         xArr = Split(xStr, ";")
    For I = xLstBox.ListCount - 1 To 0 Step -1
        xV = xLstBox.List(I)
        For J = 0 To UBound(xArr)
            If xArr(J) = xV Then
              xLstBox.Selected(I) = True
              Exit For
            End If
        Next
    Next I
    End If
Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For I = xLstBox.ListCount - 1 To 0 Step -1
        If xLstBox.Selected(I) = True Then
        xSelLst = xLstBox.List(I) & ";" & xSelLst
        End If
    Next I
    If xSelLst <> "" Then
        Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
        Range("ListBoxOutput") = ""
    End If
End If
End Sub

Bemærk: I koden, Rektangel1 er formnavnet ListBox1 er navnet på listeboksen; Vælg Valg og Afhentningsindstillinger er de viste tekster af formen; og ListBoxOutput er outputnavnet for outputcellen. Du kan ændre dem ud fra dine behov.

5. Trykke andre + Q taster samtidigt for at lukke Microsoft Visual Basic til applikationer vindue.

6. Klik på rektangelknappen for at folde eller udvide listeboksen. Når listeboksen udvides, skal du markere elementerne i listeboksen og derefter klikke på rektanglet igen for at outputte alle valgte emner i celle E4. Se nedenstående demo:

7. Og gem derefter projektmappen som en Excel MacroEnable-projektmappe for at genbruge koden i fremtiden.


Opret rulleliste med afkrydsningsfelter med et fantastisk værktøj

Ovenstående metode er for flertrins til at håndtere let. Her kan varmt anbefales Rulleliste med afkrydsningsfelter nytte af Kutools til Excel for at hjælpe dig med nemt at oprette rullelisten med afkrydsningsfelter i et bestemt område, det aktuelle regneark, den aktuelle projektmappe eller alle åbnede projektmapper baseret på dine behov. Se nedenstående demo:
Download og prøv det nu! (30 dages gratis sti)

Udover ovenstående demo giver vi også en trinvis vejledning til at demonstrere, hvordan du anvender denne funktion til at nå denne opgave. Gør som følger.

1. Åbn det regneark, du har indstillet rullelisten til datavalidering, klik på Kutools > Rulleliste > Rulleliste med afkrydsningsfelter > Indstillinger. Se skærmbillede:

2. i Drop-down List med afkrydsningsfelter Indstillinger dialogboksen, skal du konfigurere som følger.

  • 2.1) I Anvend på sektion, angiv det anvendelsesområde, hvor du opretter afkrydsningsfelter for emner i rullelisten. Du kan angive en bestemt rækkevidde, det aktuelle regneark, nuværende projektmappe or alle åbnede projektmapper baseret på dine behov.
  • 2.2) I tilstand sektion, vælg en stil, som du vil udsende de valgte emner;
  • Her tager den Ændre indstilling som et eksempel. Hvis du vælger dette, ændres celleværdien baseret på de valgte emner.
  • 2.3) I Separator boks, skal du indtaste en afgrænser, som du vil bruge til at adskille de flere emner;
  • 2.4) I Tekstretning sektion, vælg en tekstretning baseret på dine behov;
  • 2.5) Klik på OK .

3. Klik på det sidste trin Kutools > Rulleliste > Rulleliste med afkrydsningsfelter > Aktivér rulleliste med afkrydsningsfelter for at aktivere denne funktion.

Fra nu af, når du klikker på cellerne med rullelisten i et specificeret omfang, vises der en listeboks, vælg venligst emner ved at markere afkrydsningsfelterne, der skal udføres i celle som nedenstående demo vist (Tag Modify-tilstanden som et eksempel ).

For flere detaljer om denne funktion, besøg her.

  Hvis du vil have en gratis prøveperiode (30 dage) af dette værktøj, klik for at downloade det, og gå derefter til at anvende handlingen i henhold til ovenstående trin.


Relaterede artikler:

Autofuldfør, når du skriver i rullelisten i Excel
Hvis du har en datavalideringsrulleliste med store værdier, skal du rulle ned på listen bare for at finde den rigtige eller skrive hele ordet direkte i listeboksen. Hvis der er en metode til at tillade automatisk udfyldning, når du skriver det første bogstav i rullelisten, bliver alt lettere. Denne vejledning giver metoden til at løse problemet.

Opret rullelisten fra en anden projektmappe i Excel
Det er ret nemt at oprette en rulleliste med datavalidering blandt regneark i en projektmappe. Men hvis de listedata, du har brug for til datavalidering, findes i en anden projektmappe, hvad ville du gøre? I denne vejledning lærer du, hvordan du opretter en drop fown-liste fra en anden projektmappe i Excel i detaljer.

Opret en søgbar rulleliste i Excel
For en rulleliste med mange værdier er det ikke let at finde en ordentlig. Tidligere har vi introduceret en metode til automatisk udfyldelse af rullelisten, når du indtaster det første bogstav i rullemenuen. Udover funktionen autofuldførelse kan du også gøre rullelisten søgbar for at forbedre arbejdseffektiviteten ved at finde korrekte værdier i rullelisten. For at gøre rullelisten søgbar, prøv metoden i denne vejledning.

Udfyld automatisk andre celler, når du vælger værdier i rullelisten i Excel
Lad os sige, at du har oprettet en rulleliste baseret på værdierne i celleområde B8: B14. Når du vælger en hvilken som helst værdi i rullelisten, ønsker du, at de tilsvarende værdier i celleområde C8: C14 automatisk udfyldes i en valgt celle. Til løsning af problemet vil metoderne i denne vejledning gøre dig en tjeneste.

Flere vejledninger til rullelisten ...


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2019 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60-dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50% og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (67)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Det her er fantastisk. Men det vil være bedre, hvis multivalget kan placeres der, hvor markøren er aktiv. Ikke nødvendigvis hvad koden angiver.
Denne kommentar blev minimeret af moderatoren på webstedet
Det er præcis, hvad jeg har ledt efter, kan koden ændres, så de valgte data kan vises i separate celler nede i kolonnen? så i stedet for: mandag, tirsdag, onsdag, vis som. mandag Tirsdag Onsdag
Denne kommentar blev minimeret af moderatoren på webstedet
Dette er lige hvad jeg har ledt efter, er der en ændring af koden, der vil placere det næste valg fra listeboksen i næste linje. for fx en to tre I stedet for : en, to, tre
Denne kommentar blev minimeret af moderatoren på webstedet
kan du venligst forklare, hvordan du har tilføjet ListBoxOutput på E4-cellen
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Hvordan kan du kopiere denne listeboks til multiceller. Bare kopier og indsæt virker ikke. Kan du forklare for eksempel i hver celle (E5,E6,E7,E8,...), hvordan kan jeg placere denne markeringsboks?
Denne kommentar blev minimeret af moderatoren på webstedet
kan du venligst forklare, hvordan jeg nemt kan kopiere denne listeboks til 100 rækker? (separate listebokse for hver af 100 rækker)
Denne kommentar blev minimeret af moderatoren på webstedet
Når outputtet er færdigt og tryk på knappen igen, kan de tidligere valgte elementer i listeboksen ikke ændres. Hvordan løses?
Denne kommentar blev minimeret af moderatoren på webstedet
Tak skal du have! Det er fantastisk, og det virker!
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg er en nybegynder til dette, men kan nogen fortælle mig, hvordan man opretter en multi-selection ListBox, der åbnes, f.eks. når jeg vælger et navn. Jeg vil have listeboksen til at passe i en enkelt.
EKSEMPEL: Jeg har en liste over navne med kontaktoplysninger osv. Jeg vil oprette en dublet Listbox for hvert navn på min liste. Jeg vil gerne have, at den åbner automatisk, når jeg vælger et navn og skjuler tilbage i cellen, når jeg går til en anden række med oplysninger. Rådgiv venligst. Tak på forhånd.
Denne kommentar blev minimeret af moderatoren på webstedet
Kære Randy,
Jeg kan desværre ikke løse dette problem.
Denne kommentar blev minimeret af moderatoren på webstedet
Det fungerer perfekt i henhold til instruktionerne, men hvis jeg beskytter arket, giver det og fejl. Nogen løsning på dette?
Denne kommentar blev minimeret af moderatoren på webstedet
Fungerer perfekt i henhold til instruktionerne. Men hvordan kan jeg bruge dette på et beskyttet ark. I øjeblikket Hvis jeg bruger dette efter at have beskyttet arket, giver det mig og fejlen "Run-time error '-2147024809 (80070057)': Den angivne værdi er uden for området"
Denne kommentar blev minimeret af moderatoren på webstedet
Kære Amit Sood,
Før du beskytter regnearket, skal du formatere outputcellen som ulåst og derefter anvende nedenstående VBA-kode. Tak for din kommentar.

Sub Rektangel2_Klik()
Dim xSelShp som form, xSelLst som variant, I som heltal
On Error Resume Next
Indstil xSelShp = ActiveSheet.Shapes(Application.Caller)
Indstil xLstBox = ActiveSheet.ListBox1
Hvis xLstBox.Visible = False Så
xLstBox.Visible = Sand
xSelShp.TextFrame2.TextRange.Characters.Text = "Afhentningsmuligheder"
Else
xLstBox.Visible = Falsk
xSelShp.TextFrame2.TextRange.Characters.Text = "Vælg indstillinger"
For I = xLstBox.ListCount - 1 Til 0 Trin -1
Hvis xLstBox.Selected(I) = Sand, så
xSelLst = xLstBox.List(I) & ";" & xSelLst
End If
Næste jeg
Hvis xSelLst <> "" Så
Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
Else
Range("ListBoxOutput") = ""
End If
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
"Jeg har oprettet en fil ved hjælp af ActiveX-listeboksen, som du er forklaret, der har jeg indtastet nogle data og og tilføjet nogle egenskaber. Jeg har kontrolleret nogle data ved at bruge afkrydsningsfeltet på listen, og gemt og afslutte filen. Men mens genåbner filen, den viser ingen kontrollerede data..kan nogen give mig et forslag til at gemme disse opdateringer."
Kan nogen hjælpe mig venligst.
Denne kommentar blev minimeret af moderatoren på webstedet
Good Day,
Indsæt venligst nedenstående VBA-kode i ThisWorkbook-kodevinduet.
I koden er Sheet6 standardnavnet på regnearket, som indeholder den listeboks, du vil beholde valgene som vist nedenfor. Og ListBox1 er navnet på listeboksen. Venligst skift dem efter behov.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Annuller As Boolean)
Ring til SaveSelections
End Sub

Privat underarbejdsbog_Åben()
Ring til RestoreSelections
End Sub

Private Sub SaveSelections()

Dim arr() Som Variant, i Så længe, ​​j Så længe

Med Sheet6.OLEObjects("ListBox1").Object
Hvis .ListIndex > 0 Så
For i = 0 Til .ListCount - 1
Hvis .Selected(i) Så
j = j + 1
ReDim Bevar arr(1 til j)
arr(j) = i
End If
Næste
Names.Add Name:="Selections", RefersTo:=arr, Visible:=False
End If
Slut med

End Sub

Private Sub RestoreSelections()

Dim arr som variant, i som heltal

arr = [Udvalg]

Med Sheet6.OLEObjects("ListBox1").Object
For i = 1 Til UBound(arr)
.Selected(arr(i)) = Sand
Næste
Slut med

End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Tak for svaret sir, men det virker ikke i tilfælde af min fil, kan du sende din mail-id, så jeg kan sende dig min fil til dig.
Tak på forhånd
Denne kommentar blev minimeret af moderatoren på webstedet
Kære manjusha isac,
Send venligst din fil til zxm@addin99.com. Håber jeg kan hjælpe.
Denne kommentar blev minimeret af moderatoren på webstedet
Desuden skal du gemme projektmappen som en Excel Macro-aktiveret projektmappe og aktivere koden, hver gang du ændrer valgene i listeboksen.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg vil automatisk opdatere navne i forskellige kolonner. er det muligt hvis det er muligt, del venligst koden til mig.
Denne kommentar blev minimeret af moderatoren på webstedet
UTROLIGT det virker, men efter at jeg har lukket excel og åbnet det igen, er afkrydsningsfeltet fra afkrydsningsfeltet væk, så hvis jeg klikker på knappen vil alle listen være væk, enhver løsning for dette
venligst nogen hjælp mig
Mange tak på forhånd
Denne kommentar blev minimeret af moderatoren på webstedet
Kære engel,
Vi har udgivet en artikel "Hvordan gemmer eller bevarer man valg af ActiveX-listebokse i Excel?" som introducerer metode til at gemme valg af listebokse efter at have lukket og genåbnet projektmappen.
Du kan følge dette link for at få mere information: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
Denne kommentar blev minimeret af moderatoren på webstedet
forbløffende, det virker, men jeg har et problem, efter at jeg har gemt filen og åbnet den igen, er alt afkrydsningsfeltet fra afkrydsningsfeltet væk
kan du hjælpe mig til denne mange tak
Denne kommentar blev minimeret af moderatoren på webstedet
også, det ændrer størrelsen på listeboksen og formen altid efter at gemme og åbne filen igen, hvis nogen har en løsning på dette problem, så hjælp mig

tak så meget
Denne kommentar blev minimeret af moderatoren på webstedet
Kære mark,
Vi har udgivet en artikel "Hvordan gemmer eller bevarer man valg af ActiveX-listebokse i Excel?" som introducerer metode til at gemme valg af listebokse efter at have lukket og genåbnet projektmappen.
Du kan følge dette link for at få mere information: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,

Jeg spekulerer på, om der er en måde at dirigere afhentningsmulighederne til mere end én celle (ikke kun E4), eller gøre valgene til en dropdown-tjekliste, så jeg kan vælge flere muligheder fra en tjekliste, men gør det gentagne gange og uafhængigt af andre valg, jeg har foretaget. For eksempel, hvordan ville jeg bruge den samme liste over afhentningsmuligheder til at indtaste et andet udvalg af varer til E5, E6, E7 osv. fra den samme afhentningsliste.

Tak
Denne kommentar blev minimeret af moderatoren på webstedet
Hej LizKats,
Prøv venligst nedenstående kode. Håber jeg kan hjælpe. Tak skal du have.

Sub Rektangel2_Klik()

'Opdateret af Extendoffice 20200529

Dim xSelShp som form, xSelLst som variant, i som heltal

Indstil xSelShp = ActiveSheet.Shapes(Application.Caller)

Indstil xLstBox = ActiveSheet.ListBox1

Dim xRg As Range

Dim xCount, xFNum, xR, xC Som heltal

Dim xStr As String

Hvis xLstBox.Visible = False Så

xLstBox.Visible = Sand

xSelShp.TextFrame2.TextRange.Characters.Text = "Afhentningsmuligheder"

Else

xLstBox.Visible = Falsk

xSelShp.TextFrame2.TextRange.Characters.Text = "Vælg indstillinger"

Indstil xRg = Range("ListBoxOutput")

xCount = xLstBox.ListCount - 1

xStr = ""

For i = xLstBox.ListCount - 1 Til 0 Trin -1

Hvis xLstBox.Selected(i) = Sand, så

xStr = xLstBox.List(i) & ";" & xStr

End If

Næste jeg



Hvis xRg.Value = "" Så

xRg.Value = xStr

Else

Indstil xRg = xRg.Offset(1, 0)

Gør mens xRg.Value <> ""

Indstil xRg = xRg.Offset(1, 0)

Loop

xRg.Value = xStr

End If

End If

End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Det fungerer fint, mange tak for din hjælp. Jeg har et problem her er, at alt output kommer i den samme celle E4, hvordan kan vi få output i forskellige celler F.eks.: output for C4 i E4, C5 i E5, C6 i E6 osv.
Denne kommentar blev minimeret af moderatoren på webstedet
Good Day,
Det problem, du nævnte, kan ikke løses endnu.
Denne kommentar blev minimeret af moderatoren på webstedet
Добрый день! Прошу помочь.
Hvordan kan man hjælpe med at finde en ny gruppe? чтобы по выходило по вертикали?
Denne kommentar blev minimeret af moderatoren på webstedet
HJÆLP!!! hvordan output i forskellige områder (lodret)?
Denne kommentar blev minimeret af moderatoren på webstedet
Sub Rektangel2_Klik()
'Opdateret af Extendoffice 20190924
Dim xSelShp som form, xSelLst som variant, I som heltal
Dim xRg As Range
Indstil xSelShp = ActiveSheet.Shapes(Application.Caller)
Indstil xLstBox = ActiveSheet.ListBox1
Hvis xLstBox.Visible = False Så
xLstBox.Visible = Sand
xSelShp.TextFrame2.TextRange.Characters.Text = "Afhentningsmuligheder"
Else
xLstBox.Visible = Falsk
xSelShp.TextFrame2.TextRange.Characters.Text = "Vælg indstillinger"
Indstil xRg = Range("ListBoxOutput")
For I = 0 Til xLstBox.ListCount - 1
Hvis xLstBox.Selected(I) = Sand, så
xSelLst = xLstBox.List(I)
xRg.Value = Mid(xSelLst, 1, Len(xSelLst))
Indstil xRg = xRg.Offset(1, 0)
End If
Næste jeg
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Como puedo replicar éste ejercicio en las filas inferiores ?
Hvordan kan jeg replikere denne øvelse i rækkerne nedenfor?
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder