Hur skapar man en rullgardinslista med flera val eller värden i Excel?
Som standard kan du bara välja ett objekt i en rullgardinsmeny för datavalidering i Excel. Hur kan du göra flera val i rullgardinsmenyn som nedan gif visas? Metoderna i den här artikeln kan hjälpa dig att lösa problemet.
Mer handledning för rullgardinsmenyn ...
Skapa rullgardinsmeny med flera val med VBA-kod
Det här avsnittet innehåller två VBA-koder som hjälper dig att göra flera val i rullgardinslistor i ett kalkylblad. De två VBA-koderna kan uppnå:
Du kan använda en av följande VBA-koder för att göra flera val i en rullgardinslista i ett kalkylblad i Excel. Vänligen gör enligt följande.
1. Öppna kalkylbladet som innehåller rullgardinslistorna för datavalidering från vilka du vill göra flera val. Högerklicka på arkfliken och välj Visa kod från snabbmenyn.
2. I Microsoft Visual Basic för applikationer kopiera nedanstående VBA-kod till kodfönstret. Se skärmdump:
VBA-kod 1: Tillåt flera val i en rullgardinslista utan dubbletter
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
3. tryck på andra + Q för att stänga Microsoft Visual Basic för applikationer fönster.
Nu kan du välja flera objekt från rullgardinsmenyn i det aktuella kalkylbladet.
Anta att du har valt ett objekt av misstag och behöver ta bort det utan att rensa hela cellen och börja om. Följande VBA-kod 2 kan göra dig en tjänst.
VBA-kod 2: Tillåt flera val i en rullgardinslista utan dubbletter (ta bort befintliga objekt genom att välja det igen)
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2023/01/11
'Updated by Ken Gardner 2022/07/11
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
Dim semiColonCnt As Integer
Dim xType As Integer
If Target.Count > 1 Then Exit Sub
On Error Resume Next
xType = 0
xType = Target.Validation.Type
If xType = 3 Then
Application.ScreenUpdating = False
Application.EnableEvents = False
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or xValue1 = xValue2 & ";" Or xValue1 = xValue2 & "; " Then ' leave the value if only one in list
xValue1 = Replace(xValue1, "; ", "")
xValue1 = Replace(xValue1, ";", "")
Target.Value = xValue1
ElseIf InStr(1, xValue1, "; " & xValue2) Then
xValue1 = Replace(xValue1, xValue2, "") ' removes existing value from the list on repeat selection
Target.Value = xValue1
ElseIf InStr(1, xValue1, xValue2 & ";") Then
xValue1 = Replace(xValue1, xValue2, "")
Target.Value = xValue1
Else
Target.Value = xValue1 & "; " & xValue2
End If
Target.Value = Replace(Target.Value, ";;", ";")
Target.Value = Replace(Target.Value, "; ;", ";")
If Target.Value <> "" Then
If Right(Target.Value, 2) = "; " Then
Target.Value = Left(Target.Value, Len(Target.Value) - 2)
End If
End If
If InStr(1, Target.Value, "; ") = 1 Then ' check for ; as first character and remove it
Target.Value = Replace(Target.Value, "; ", "", 1, 1)
End If
If InStr(1, Target.Value, ";") = 1 Then
Target.Value = Replace(Target.Value, ";", "", 1, 1)
End If
semiColonCnt = 0
For i = 1 To Len(Target.Value)
If InStr(i, Target.Value, ";") Then
semiColonCnt = semiColonCnt + 1
End If
Next i
If semiColonCnt = 1 Then ' remove ; if last character
Target.Value = Replace(Target.Value, "; ", "")
Target.Value = Replace(Target.Value, ";", "")
End If
End If
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
Anmärkningar:
Skapa enkelt rullgardinsmenyn med flera val med ett fantastiskt verktyg
Här rekommenderar vi starkt Multi-select rullgardinslista egenskap av Kutools för Excel till dig. Med den här funktionen kan du enkelt välja flera objekt från listrutan i ett angivet intervall, aktuellt kalkylblad, aktuell arbetsbok eller alla öppnade arbetsböcker som du behöver.
Innan du ansöker Kutools för ExcelBer ladda ner och installera det först.
1. klick Kutools > Listrutan > Multi-select rullgardinslista > Inställningar. Se skärmdump:
2. I Flervalsinställningar för rullgardinsmenyn dialogrutan, konfigurera så här.
- 2.1) Ange tillämpningsområdet i Ansök till sektion. I det här fallet väljer jag Aktuellt kalkylblad från Specificerat omfattning rullgardinsmeny
- 2.2) I Textriktning avsnitt, välj en textriktning baserat på dina behov;
- 2.3) I Separator rutan, ange en avgränsare som du kommer att använda för att separera flera värden;
- 2.4) Kontrollera Lägg inte till dubbletter ruta i Tillbehör avsnitt om du inte vill göra dubbletter i rullgardinsmenyerna;
- 2.5) Klicka på OK knapp. Se skärmdump:
3. Klicka på Kutools > Listrutan > Multi-select rullgardinslista för att aktivera funktionen.
Nu kan du välja flera objekt från listrutan i det aktuella kalkylbladet eller vilket omfång du har angett i steg 2.
Om du vill ha en gratis provperiod (30-dag) för detta verktyg, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.
Relaterade artiklar:
Autoslutför när du skriver i Excel-rullgardinsmenyn
Om du har en rullgardinsmeny för datavalidering med stora värden måste du bläddra nedåt i listan bara för att hitta rätt eller skriva hela ordet direkt i listrutan. Om det finns en metod för att automatiskt slutföra när du skriver den första bokstaven i rullgardinsmenyn blir allt enklare. Denna handledning ger metoden för att lösa problemet.
Skapa rullgardinslista från en annan arbetsbok i Excel
Det är ganska enkelt att skapa en rullgardinslista för datavalidering bland kalkylblad i en arbetsbok. Men om listdata du behöver för datavalideringen hittar du i en annan arbetsbok, vad skulle du göra? I den här guiden lär du dig hur du skapar en drop-down-lista från en annan arbetsbok i Excel i detalj.
Skapa en sökbar rullgardinslista i Excel
För en rullgardinsmeny med många värden är det inte lätt att hitta en riktig. Tidigare har vi introducerat en metod för automatisk komplettering av rullgardinsmenyn när du anger den första bokstaven i rullgardinsmenyn. Förutom funktionen för autoslutförande kan du också göra listrutan sökbar för att förbättra arbetseffektiviteten för att hitta rätt värden i listrutan. För att göra rullgardinsmenyn sökbar, prova metoden i den här självstudien.
Fyll i andra celler automatiskt när du väljer värden i Excel-listrutan
Låt oss säga att du har skapat en rullgardinslista baserat på värdena i cellområdet B8: B14. När du väljer något värde i listrutan vill du att motsvarande värden i cellintervall C8: C14 fylls automatiskt i en vald cell. För att lösa problemet kommer metoderna i denna handledning att göra dig en tjänst.
De bästa Office-produktivitetsverktygen
Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%
- återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
- Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
- Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
- Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
- Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
- Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
- Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
- Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
- Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
































