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

Hur väljer jag flera objekt från rullgardinsmenyn i en cell i Excel?

Listrutan används ofta i Excel dagliga arbete. Som standard kan endast ett objekt väljas i en listruta. Men ibland kan du behöva välja flera objekt från listrutan i en enda cell som visas nedan. Hur kan du hantera det i Excel?

doc välj flera objekt från listrutan 1 doc pil till höger doc välj flera objekt från listrutan 2

Välj flera objekt från listrutan till en cell med VBA

Välj flera objekt från listrutan till en cell med Kutools för Excels praktiska alternativ


Välj flera objekt från listrutan till en cell med VBA

Här är några VBA som kan hjälpa dig att lösa det här jobbet.

Välj dubbletter från rullgardinsmenyn i en cell

1. När du har skapat en rullgardinslista högerklickar du på arkfliken för att välja Visa kod från snabbmenyn.
doc välj flera objekt från listrutan 3

2. Sedan i Microsoft Visual Basic för applikationer fönster, kopiera och klistra in under koden i det tomma skriptet.

VBA: Välj flera objekt från rullgardinsmenyn i en cell

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xStrNew = Target.Value
    Application.Undo
    If xStrNew = Target.Value Then
    Else
    xStrNew = xStrNew & " " & Target.Value
    Target.Value = xStrNew
    End If
    Application.EnableEvents = True
End Sub

3. Spara koden och stäng fönstret för att gå tillbaka till listrutan. Nu kan du välja flera objekt i listrutan.

Obs:

1. Med VBA separerar det objekten efter utrymme, du kan ändra xStrNew = xStrNew & "" & Målvärde till andra att ändra avgränsaren efter behov. Till exempel, xStrNew = xStrNew & "," & Målvärde separerar objekten med komma.

2. Denna VBA-kod fungerar för alla rullgardinslistor i arket.

Välj flera objekt från listrutan till en cell utan att upprepa

Om du bara vill välja unika objekt från listrutan till en cell kan du upprepa ovanstående steg och använda koden nedan.

VBA : Välj flera objekt från listrutan till en cell utan att upprepa

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim I As Integer
    Dim xRgVal As Range
    Dim xStrNew As String
    Dim xStrOld As String
    Dim xFlag As Boolean
    Dim xArr
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xFlag = True
    xStrNew = " " & Target.Value & " "
    Application.Undo
    xStrOld = Target.Value
    If InStr(1, xStrOld, xStrNew) = 0 Then
        xStrNew = xStrNew & xStrOld & " "
    Else
        xStrNew = xStrOld
    End If
    Target.Value = xStrNew
    Application.EnableEvents = True
End Sub

Båda ovanstående VBA-koder stöder inte att ta bort delar av cellinnehåll, bara stöd för att rensa alla objekt i cellen.


Välj flera objekt från listrutan till en cell med Kutools för Excels praktiska alternativ

Om du inte känner till VBA-koden kan du gratis installation ett praktiskt verktyg - Kutools för Excel, som innehåller en grupp verktyg om listrutan, och det finns ett alternativ Multi-select rullgardinsmeny kan hjälpa dig att enkelt välja flera objekt från listrutan till en cell.

När du har skapat rullgardinsmenyn, välj rullgardinsmenyens celler och klicka Kutools > Listrutan > Multi-select rullgardinslista för att aktivera det här verktyget.
doc kutools flervals rullgardinslista 1

Sedan kan de valda rullgardinscellerna väljas flera objekt i cellen.

Om du använder det här alternativet första gången kan du ange inställningarna för det här verktyget innan du använder det här verktyget.

Klicka Kutools > Listrutan > pilen bredvid Multi-select rullgardinslista > Inställningar.
doc kutools flervals rullgardinslista 2

Sedan i Flervalsinställningar för rullgardinsmenyn dialog kan du

1) Ange tillämpningsområdet efter behov;

2) Ange riktningen för objektens plats;

3) Ange separator mellan objekt;

4) Ange om inte lägg till dubbletter och ta bort dubbletter.

Klicka Ok och klicka Kutools > Listrutan > Multi-select rullgardinslista att träda i kraft.

Tips: Att tillämpa Multi-select rullgardinslista verktyg måste du installera det först. Om du vill skapa en listruta med flera nivåer kan verktyget nedan hjälpa dig.

Skapa enkelt en dynamisk listruta med två nivåer eller flera nivåer i Excel

I Excel är det komplext att skapa en rullgardinslista på två nivåer eller flera nivåer. Här är Dynamisk rullgardinslista nytta av Kutools för Excel kan göra dig en tjänst. Vad du bara ska göra är att beställa data som visas i exemplet, sedan välja dataintervall och utmatningsområde och sedan lämna det till verktyget.  Klicka för 30 dagars gratis provperiod!
doc avancerade kombinera rader
 
Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsningar i 30 dagar.

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.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (26)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Efter att ha lagt till fungerar inte data från rullgardinsmenyn, radering.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag hittade samma problem. Jag tror att jag hittat ett sätt att övervinna det. Längst ner i koden ser du koden "xStrNew = xStrOld". Få det istället att säga xStrNew = " "

Det funkar för mig.
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det någon chans att du fortfarande har den här koden? Jag försöker göra som du sa men texten dupliceras fortfarande.
Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Jag är ledsen men det gör jag inte. Men jag tittade bara på koden ovan och det verkar som om författaren redigerade koden med mitt förslag.

lägg ditt problem i huvudtråden till den här artikeln.
Denna kommentar minimerades av moderatoren på webbplatsen
i den första koden lägg till följande rad mellan rad 6 och 7 (10-11 i den andra koden): Om Target.Value = "" Avsluta Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använde detta "Välj flera objekt från rullgardinsmenyn till en cell utan upprepning"
det här är vad som hände
1. Flera val sker utan problem.
2. Problemet är när jag försöker redigera och ta bort ett alternativ. Det finns inget sätt för mig att ta bort ett alternativ. det fortsätter att föröka sig.
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skulle du tillämpa den här funktionen men göra det så att det inte finns överflödiga värden? All hjälp skulle uppskattas!
Denna kommentar minimerades av moderatoren på webbplatsen
Om jag skapar ett ark med en rullgardinslista med hjälp av kryssrutor, finns det något sätt att dela den här arbetsboken med den här kryssrutorna?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag upptäcker också att efter att ha valt flera objekt med den uppdaterade VBA-koden, kan jag fortfarande inte rensa cellen, den fortsätter bara att multiplicera.
Är det någon som har en lösning på detta än?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Rusty, koden jag har uppdaterat för att göra den mer stabil. Men eftersom cellen är i datavalidering, blank är slut på datavalidering, kan koden inte lösa detta problem.
Denna kommentar minimerades av moderatoren på webbplatsen
koden fungerar men överförs över alla celler och multipliceras i cellerna och tillåter inte radering kan du hjälpa?
Denna kommentar minimerades av moderatoren på webbplatsen
Quando quero deletar alguma opção ou todas dá erro. Como posso resolver?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej! Como puedo usar este codigo para todo un kalkylblad y no solo para una pestana?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Vero, Kutools för Excels Multi-select rullgardinslista-funktion stöder val av flera objekt från rullgardinslistan i hela kalkylbladet eller över arbetsboken, ange bara det specificerade omfattningen i dialogrutan Multi-select rullgardinslista Inställningar.
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kan jag göra det för den första formeln du angav :) Tack på förhand!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
selon le premier exemple tout fonctionne très bien jusqu'à ce que je verrouille la feuille.
quand la feuille est verrouillée, je n'ai plus le choix multiple !
kommentera faire?
Tack på förhand
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, förlåt för det. Vi kommer att uppgradera vår funktion nästa version för att undvika detta problem. Tack för din feedback.
Denna kommentar minimerades av moderatoren på webbplatsen
BCP tack
Mais à quand la nouvelle version ?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, den nya versionen är under planering, eftersom nästa version kommer att uppgradera flera funktioner kan det ta lite tid.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, vi har uppdaterat den här versionen åt dig, men det här är en betaversion, ladda ner den här: https://download.extendoffice.com/downloads/Kutools-for-Excel/beta/26.10/KutoolsforExcelSetup.Inno.exe
Om det finns några problem, välkommen för din feedback.
Denna kommentar minimerades av moderatoren på webbplatsen
tack,
Je vais la télécharger och essayer.
Bonne journée
Denna kommentar minimerades av moderatoren på webbplatsen
koden fungerar men låter mig inte ta bort kan någon vänligen posta den nya koden.
Denna kommentar minimerades av moderatoren på webbplatsen
¿Cómo puedo hacer para que el orden en que se coloque el texto, sea tan cuál como yo quiera?

Exempelvis:
Min text för listan är:
TRAMITAR ESTE ASUNTO
SAMORDNAD
ANALISERAR REKOMENDERAR

välj:
TRAMITAR ESTE ASUNTO
ANALISERAR REKOMENDERAR

Det verkar för mig
ANALISERAR REKOMENDERAR, TRAMITAR ESTE ASUNTO

o havet, los de abajo me aparecen primero, pero quiero que sea en el orden en que voy seleccionando...
TRAMITAR ESTE ASUNTO, ANALISERAR REKOMENDERAR.....
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Gorgelys, Kutools multi-select rullgardinslista kan hjälpa dig. Varorna du valde kommer att vara i den ordning du vill ha.
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kan du använda en nöje com en planilha bloqueada?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, makron, försök nedanstående kod, den stöder att välja flera objekt i rullgardinsmenyn i skyddat ark.
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next  
    xType = 0
    xType = Target.Validation.Type
    If xType <> 3 Then Exit Sub
    If (Target.Count > 1) Then Exit Sub

    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xStrNew = Target.Value
    Application.Undo
    If xStrNew = Target.Value Then
    Else
    xStrNew = xStrNew & " " & Target.Value
    Target.Value = xStrNew
    End If
    Application.EnableEvents = True
End Sub

Och även Kutools för Excel 26.1 och senare versioner stöder detta jobb i skyddat ark.
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL