Indholdsfortegnelse
Indtil nu har vi set på hvordan man laver drop-down lister i Excel. I dag vil jeg vise hvordan du opretter en drop-down liste med flere valg i Excel .
Download arbejdsbog til øvelser
Du kan downloade arbejdsbogen til øvelser her.
Opret drop-down-liste med flere valg.xlsmTrin-for-trin procedurer til at oprette drop-down-liste i Excel med flere valgmuligheder
Her har vi et datasæt med en kolonne Bogens navn som indeholder nogle bognavne. Vores mål i dag er at oprette en rulleliste baseret på dette datasæt, som kan vælge flere valg. Jeg vil vise trin for trin-procedurer i nedenstående afsnit.
TRIN 1: Opret drop-down-liste ved hjælp af datavalidering
For at oprette en drop-down liste med flere valgmuligheder skal vi først oprette en drop-down liste. Lad os gennemgå procedurerne.
- Først skal du vælge den celle, hvor du vil oprette drop-down-listen. Jeg har valgt Celle D5 .
- Derefter skal du gå til Data og vælg Validering af data fra båndet.
- Derefter, fra den Validering af data vindue, vælg Liste på Tillad afsnittet og skriv de områdeceller, hvis data du vil tilføje til listen, i afsnittet Kilde felt.
- Alternativt kan du klikke på den lille pil opad i den Kilde og vælg dataområdet fra regnearket.
- Endelig vil vi se en rulleliste, der er oprettet i Celle D5 .
Lignende læsninger:
- Hvordan man laver en drop down-liste i Excel (uafhængig og afhængig)
- Lav flere valg fra drop-down-listen i Excel (3 måder)
- Sådan oprettes afhængig Drop Down List i Excel
- Opret drop-down-liste i flere kolonner i Excel (3 måder)
TRIN 2: Aktivering af drop-down-liste til at acceptere flere valg ved hjælp af VBA-kode
Vi har allerede oprettet drop-down-listen. Nu er det tid til at forberede drop-down-listen til flere valg. Jeg vil bruge 2 VBA koder for at gøre det muligt for listen at acceptere flere valg. En vil acceptere gentagelse af data, og en anden vil ikke acceptere gentagelse af data.
Case 1: VBA-kode til flere valg med gentagelse
I dette afsnit vil jeg vise, hvordan man opretter en drop-down liste med flere valgmuligheder, som vil tage en gentagelse af data.
Lad os gennemgå procedurerne.
- Først skal du trykke på ALT + F11 for at åbne den VBA vindue.
- Vælg derefter Projekt Explorer . også, dobbelt - klik på det ark, hvor du ønsker, at opgaven skal udføres.
- Samtidig er der en Kode åbnes.
- Skriv derefter følgende kode i dette vindue.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" ThenTarget.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
Bemærk: I kodedelen ( Hvis Target.Address = "$D$5" Derefter ) i stedet for cellehenvisning $D$5, du skriver den cellehenvisning, hvor du har oprettet rullelisten. - Til sidst kan du vende tilbage til regnearket, og vi vil kunne vælge flere elementer i rullelisten med en gentagelse af det samme element.
Case 2: VBA-kode til flere valg uden gentagelse
I dette afsnit vil jeg vise, hvordan du kan oprette en drop-down liste med flere valgmuligheder, som ikke kræver gentagelse af data.
Lad os gennemgå procedurerne.
- Først skal du trykke på ALT + F11 for at åbne den VBA vindue.
- Vælg derefter Projekt Explorer . også, dobbelt - klik på det ark, hvor du ønsker, at opgaven skal udføres.
- Samtidig er der en Kode vinduet vises.
- Indtast derefter følgende kode i dette vindue.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue =Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & ", ", " & Newvalue Else: Target.Value = Oldvalue End If End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
Bemærk: I kodedelen ( Hvis Target.Address = "$D$5" Derefter ) i stedet for cellehenvisning $D$5, du skriver den cellehenvisning, hvor du har oprettet rullelisten. - Til sidst kan du vende tilbage til regnearket, og vi vil kunne vælge flere elementer i rullelisten uden at gentage det samme element.
Konklusion
Ved hjælp af denne metode kan du oprette en drop-down liste i Excel med flere valgmuligheder. Har du spørgsmål, er du velkommen til at fortælle os det i kommentarfeltet. Besøg vores ExcelWIKI websted for flere artikler om Excel .