Přejít k hlavnímu obsahu

Jak vybrat více položek z rozevíracího seznamu do buňky v aplikaci Excel?

Rozbalovací seznam se často používá v každodenní práci aplikace Excel. Ve výchozím nastavení lze v rozevíracím seznamu vybrat pouze jednu položku. Ale v některých případech možná budete muset vybrat více položek z rozevíracího seznamu do jedné buňky, jak je ukázáno níže. Jak to zvládnete v aplikaci Excel?

doc vyberte více položek z rozevíracího seznamu 1 doc šipka vpravo doc vyberte více položek z rozevíracího seznamu 2

Vyberte více položek z rozevíracího seznamu do buňky pomocí VBA

Vyberte více položek z rozevíracího seznamu do buňky snadno a rychle


Vyberte více položek z rozevíracího seznamu do buňky pomocí VBA

Zde je několik VBA, které vám mohou při řešení této práce poskytnout laskavost.

Vyberte duplicitní položky z rozevíracího seznamu v buňce

1. Po vytvoření rozevíracího seznamu vyberte pravým tlačítkem na kartě list Zobrazit kód z kontextové nabídky.
doc vyberte více položek z rozevíracího seznamu 3

2. Pak v Microsoft Visual Basic pro aplikace okno, zkopírujte a vložte pod kód do prázdného skriptu.

VBA: Vyberte více položek z rozevíracího seznamu v buňce

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. Uložte kód a zavřete okno, abyste se vrátili do rozevíracího seznamu. Nyní můžete z rozevíracího seznamu vybrat více položek.

Poznámka:

1. S VBA odděluje položky mezerou, můžete změnit xStrNew = xStrNew & "" & Cílová hodnota ostatním změnit oddělovač, jak potřebujete. Například, xStrNew = xStrNew & "," & Cílová hodnota oddělí položky čárkami.

2. Tento kód VBA funguje pro všechny rozevírací seznamy v listu.

Vyberte více položek z rozevíracího seznamu do buňky bez opakování

Pokud chcete z rozevíracího seznamu do buňky vybrat pouze jedinečné položky, můžete výše uvedené kroky opakovat a použít níže uvedený kód.

VBA : Vyberte více položek z rozevíracího seznamu do buňky bez opakování

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

Oba výše uvedené kódy VBA nepodporují odstranění částí obsahu buňky, podporují pouze vymazání všech položek buňky.


Vyberte více položek z rozevíracího seznamu do buňky snadno a rychle

V Excelu, kromě kódu VBA, neexistují žádné jiné způsoby, jak povolit více položek vybraných z rozevíracího seznamu v buňce. Nicméně, Multi-select rozevírací seznam vlastnost Kutools pro Excel můžete rychle a snadno zvládnout tuto práci pomocí kliknutí.

Tip: Před použitím tohoto nástroje si nejprve nainstalujte Kutools pro Excel. Přejděte ke stažení zdarma.
Krok 1: Vyberte Kutools > Rozbalovací seznam > Vícenásobný rozevírací seznam
Krok 2: V dialogovém okně Rozbalovací seznam pro vícenásobný výběr zadejte nastavení
  1. Nastavit rozsah;
  2. Zadejte oddělovač pro oddělovací položky v buňce;
  3. Určete směr textu;
  4. Klepněte na tlačítko OK.
    doc vyberte více položek z rozevíracího seznamu kte 1
Výsledek:

vyberte více položek z rozevíracího seznamu kutools

Poznámka: Chcete-li používat funkci rozevíracího seznamu vícenásobného výběru, měli byste nejprve nainstalovat Kutools pro Excel kliknutím stáhněte a získejte nyní 30denní bezplatnou zkušební verzi.

Snadno vytvoříte dynamický rozevírací seznam závislý na dvou nebo více úrovních v aplikaci Excel

V aplikaci Excel je vytvoření rozevíracího seznamu na dvou nebo více úrovních složité. Tady Dynamický rozevírací seznam užitečnost Kutools pro Excel může vám udělat laskavost Jediné, co musíte udělat, je objednat data podle ukázkového příkladu, poté vybrat rozsah dat a výstupní rozsah a poté jej ponechat na obslužném programu.  Klikněte na 30denní zkušební verzi zdarma!
doc pokročilé kombinovat řádky
 
Kutools pro Excel: s více než 300 praktickými doplňky Excel, můžete vyzkoušet bez omezení za 30 dní.

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
Comments (26)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Como posso utilizar a função com a planilha bloqueada?
This comment was minimized by the moderator on the site
Hi, Macros, try below code, it supports to select multi items in drop down list in protected sheet.
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

And also Kutools for Excel 26.1 and later versions supports this job in protected sheet.
This comment was minimized by the moderator on the site
¿Cómo puedo hacer para que el orden en que se coloque el texto, sea tan cuál como yo quiera?

Ejemplo:
Mi texto para la lista es:
TRAMITAR ESTE ASUNTO
COORDINAR
ANALIZAR Y RECOMENDAR

sí selecciono:
TRAMITAR ESTE ASUNTO
ANALIZAR Y RECOMENDAR

me aparece
ANALIZAR Y RECOMENDAR, TRAMITAR ESTE ASUNTO

o sea, los de abajo me aparecen primero, pero quiero que sea en el orden en que voy seleccionando...
TRAMITAR ESTE ASUNTO, ANALIZAR Y RECOMENDAR.....
This comment was minimized by the moderator on the site
Hi, Gorgelys, Kutools's multi-select drop down list can help you. The items you selected will be in the order like you want.
This comment was minimized by the moderator on the site
the code works but won't let me delete can someone please post the new code.
This comment was minimized by the moderator on the site
bonjour,
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 !
comment faire ?
merci par avance
This comment was minimized by the moderator on the site
Hi, sorry for that. We will upgrade our feature next version to avoid this problem. Thank you for your feekback.
This comment was minimized by the moderator on the site
Merci bcp
Mais à quand la nouvelle version ?
This comment was minimized by the moderator on the site
Hi, we have updated this version for you, but this is a beta version, please download it from this: https://download.extendoffice.com/downloads/Kutools-for-Excel/beta/26.10/KutoolsforExcelSetup.Inno.exe
If there are any problems, welcome for your feedback.
This comment was minimized by the moderator on the site
Merci,
Je vais la télécharger et essayer.
Bonne journée
This comment was minimized by the moderator on the site
Hi, the new version is in planning, since next version will upgrade multiple features, it may take somewhat time.
This comment was minimized by the moderator on the site
Hi! Como puedo usar este codigo para todo un worksheet y no solo para una pestana?
This comment was minimized by the moderator on the site
Hi, Vero, Kutools for Excel's Multi-select Drop-down List feature suports selecting multiple items from drop down list in the whole worksheet or across workbook, just specify the Specified Scope in the Multi-select Drop-down List Settings dialog.
This comment was minimized by the moderator on the site
How can I do that for the fist formula you provided :) Thanks in advanced!
This comment was minimized by the moderator on the site
Quando quero deletar alguma opção ou todas dá erro. Como posso resolver?
This comment was minimized by the moderator on the site
I am also finding that after selecting multiple items using the updated VBA code, I still cannot clear the cell, it just keeps multiplying.
Does anyone have a solution for this yet?
This comment was minimized by the moderator on the site
Hi, Rusty, the code I have updated for making it more stable. But because the cell is in data validation, blank is out of data validation, the code cannot solve this problem.
This comment was minimized by the moderator on the site
the code works but carries over across all cells and multiplies in the cells and wont allow delete can you assist?
This comment was minimized by the moderator on the site
If I create a sheet with dropdown list using checkboxes, is there a way to share this workbook with this checkboxes feature?
This comment was minimized by the moderator on the site
How would you apply this functionality but making it so that there aren't redundant values? Any help would be appreciated!
This comment was minimized by the moderator on the site
I used this "Select multiple items from drop down list to a cell without repeat"
this is what happened
1. Multiple selections happen without problems.
2. The issue is when i try to edit and remove an option. There is no way for me to remove an option. it keeps multiplying.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations