Hur man skapar Drop Down List i Excel med flera val

  • Dela Detta
Hugh West

Hittills har vi tittat på hur man skapar rullgardinslistor i Excel. Idag ska jag visa hur du skapar en rullgardinslista med flera val i Excel .

Ladda ner övningsboken

Du kan ladda ner arbetsboken här.

Skapa en drop down-lista med flera val.xlsm

Steg-för-steg-förfaranden för att skapa en listrista i Excel med flera valmöjligheter

Här har vi ett dataset med en kolumn Bokens namn som innehåller några boknamn. Vårt mål idag är att skapa en rullgardinslista baserad på detta dataset som kan göra flera val. Jag kommer att visa steg-för-steg-förfarandet i nedanstående avsnitt.

STEG 1: Skapa en rullgardinslista med hjälp av datavalidering

För att skapa en rullgardinslista med flera val måste vi först skapa en rullgardinslista. Låt oss gå igenom procedurerna.

  • Välj först den cell där du vill skapa rullgardinslistan. Jag har valt Cell D5 .

  • Gå sedan till Uppgifter och välj Validering av data från bandet.

  • Sedan, från den Validering av data fönstret, välj Lista Tillåt och skriv in de intervallceller vars data du vill lägga till i listan i avsnittet Källa fält.
  • Alternativt kan du klicka på den lilla uppåtriktade pilen i den Källa och välj dataområdet från arbetsbladet.

  • Slutligen ser vi en rullgardinslista som skapats i Cell D5 .

Liknande läsning:

  • Hur man gör en rullgardinslista i Excel (oberoende och beroende)
  • Gör flera val från en rullgardinslista i Excel (3 sätt)
  • Hur man skapar beroende Drop Down List i Excel
  • Skapa en rullgardinslista i flera kolumner i Excel (3 sätt)

STEG 2: Aktivera Drop-Down-listan för att acceptera flera val med VBA-kod

Vi har redan skapat rullgardinslistan. Nu är det dags att förbereda rullgardinslistan för flera val. Jag kommer att använda 2 VBA koder för att göra det möjligt för listan att acceptera flera val. En kommer att acceptera upprepning av data och en annan kommer inte att acceptera upprepning av data.

Fall 1: VBA-kod för flera val med upprepning

I det här avsnittet kommer jag att visa hur man skapar en rullgardinslista med flera val som tar emot upprepade data.

Låt oss gå igenom förfarandena.

  • Tryck först på ALT + F11 för att öppna VBA fönster.
  • Välj sedan Utforskare av projekt . också, dubbel - Klicka på på det ark där du vill att uppgiften ska utföras.

  • Samtidigt kan en Kod öppnas.
  • Skriv sedan följande kod i det fönstret.
 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 

Observera: I koddelen ( Om Target.Address = "$D$5" Därefter ) i stället för cellreferens $D$5, skriver du cellreferensen där du har skapat rullgardinslistan.

  • Till sist återvänder vi till arbetsbladet och kommer att kunna välja flera element i rullgardinslistan med en upprepning av samma element.

Fall 2: VBA-kod för flera val utan upprepning

I det här avsnittet kommer jag att visa hur du skapar en rullgardinslista med flera val som inte kräver upprepning av data.

Låt oss gå igenom förfarandena.

  • Tryck först på ALT + F11 för att öppna VBA fönster.
  • Välj sedan Utforskare av projekt . också, dubbel - Klicka på på det ark där du vill att uppgiften ska utföras.

  • Samtidigt kan en Kod visas.
  • Därefter skriver du följande kod i det fönstret.
 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 Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub 

Observera: I koddelen ( Om Target.Address = "$D$5" Därefter ) i stället för cellreferens $D$5, skriver du cellreferensen där du har skapat rullgardinslistan.

  • Till sist återvänder vi till arbetsbladet och kommer att kunna välja flera element i rullgardinslistan utan att samma element upprepas.

Slutsats

Med den här metoden kan du skapa en rullgardinslista i Excel med flera valmöjligheter. Har du några frågor? Låt oss gärna veta det i kommentarsfältet. Besök vår Webbplats för ExcelWIKI för fler artiklar om Excel .

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.