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

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 několik položek z rozevíracího seznamu do buňky pomocí šikovné možnosti aplikace Kutools pro Excel


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 několik položek z rozevíracího seznamu do buňky pomocí šikovné možnosti aplikace Kutools pro Excel

Pokud nejste obeznámeni s kódem VBA, můžete instalace zdarma šikovný nástroj - Kutools pro Excel, který obsahuje skupinu nástrojů o rozevíracím seznamu a existuje možnost Multi-select rozevírací seznam vám pomůže snadno vybrat více položek z rozevíracího seznamu do buňky.

Po vytvoření rozevíracího seznamu vyberte buňky rozevíracího seznamu a klikněte Kutools > Rozbalovací seznam > Multi-select rozevírací seznam povolit tento nástroj.
rozevírací seznam doc kutools multi select 1

Vybrané buňky rozevíracího seznamu lze poté vybrat více položek do buňky.

Pokud použijete tuto možnost poprvé, můžete před použitím tohoto nástroje podle potřeby určit nastavení tohoto nástroje.

klikněte Kutools > Rozbalovací seznam > šipka vedle Multi-select rozevírací seznam > Nastavení.
rozevírací seznam doc kutools multi select 2

Pak v Multi-select Nastavení rozevíracího seznamu dialog, můžete

1) Určete rozsah použití, jak potřebujete;

2) Určete směr umístění položek;

3) Určete oddělovač mezi položkami;

4) Určete, zda nepřidávejte duplikáty a neodstraňujte duplicitní položky.

klikněte Ok a klepněte na tlačítko Kutools > Rozbalovací seznam > Multi-select rozevírací seznam aby se to projevilo.

Tip: Použít Multi-select rozevírací seznam nástroj, musíte instalovat to zpočátku. Chcete-li vytvořit rozevírací seznam s více úrovněmi, může vám pomoci níže uvedený nástroj.

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ší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

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 omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (22)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Po přidání nefungují data z rozevíracího seznamu, odstranění.
Tento komentář byl moderátorem webu minimalizován
Našel jsem stejný problém. Myslím, že jsem našel způsob, jak to překonat. V dolní části kódu uvidíte kód „xStrNew = xStrOld“. Místo toho řekněte xStrNew = " "

Funguje to pro mě.
Tento komentář byl moderátorem webu minimalizován
Máte ještě šanci tento kód? Snažím se udělat to, co jsi řekl, ale text se stále duplikuje.
Díky
Tento komentář byl moderátorem webu minimalizován
Omlouvám se, ale nemám. Právě jsem se však podíval na výše uvedený kód a zdá se, že autor upravil kód s mým návrhem.

napište svůj problém do hlavního vlákna tohoto článku.
Tento komentář byl moderátorem webu minimalizován
v prvním kódu přidejte následující řádek mezi řádky 6 a 7 (10-11 ve druhém kódu): If Target.Value = "" Pak Exit Sub
Tento komentář byl moderátorem webu minimalizován
Použil jsem toto "Vybrat více položek z rozevíracího seznamu do buňky bez opakování"
tohle se stalo
1. Vícenásobný výběr proběhne bez problémů.
2. Problém je, když se pokouším upravit a odebrat možnost. Neexistuje žádný způsob, jak odstranit možnost. pořád se to množí.
Tento komentář byl moderátorem webu minimalizován
Jak byste tuto funkci aplikovali, ale aby zde nebyly nadbytečné hodnoty? Jakákoli pomoc by byla oceněna!
Tento komentář byl moderátorem webu minimalizován
Pokud vytvořím list s rozevíracím seznamem pomocí zaškrtávacích políček, existuje způsob, jak tento sešit sdílet s touto funkcí zaškrtávacích políček?
Tento komentář byl moderátorem webu minimalizován
Zjistil jsem také, že po výběru více položek pomocí aktualizovaného kódu VBA stále nemohu vymazat buňku, jen se stále množí.
Má na to ještě někdo řešení?
Tento komentář byl moderátorem webu minimalizován
Ahoj, Rusty, kód jsem aktualizoval, aby byl stabilnější. Ale protože je buňka ve validaci dat, prázdná je mimo validaci dat, kód nemůže tento problém vyřešit.
Tento komentář byl moderátorem webu minimalizován
kód funguje, ale přenáší se napříč všemi buňkami a násobí se v buňkách a nedovolí smazání, můžete pomoci?
Tento komentář byl moderátorem webu minimalizován
Quando quero deletar alguma opção ou todas dá erro. Como poso resolver?
Tento komentář byl moderátorem webu minimalizován
Ahoj! Como puedo usar este codigo para todo un worksheet y no solo para una pestana?
Tento komentář byl moderátorem webu minimalizován
Ahoj Vero, funkce Kutools for Excel s vícenásobným výběrem rozevíracího seznamu podporuje výběr více položek z rozevíracího seznamu v celém listu nebo v sešitu, stačí zadat specifikovaný rozsah v dialogovém okně Nastavení rozevíracího seznamu vícenásobného výběru.
Tento komentář byl moderátorem webu minimalizován
Jak to mohu udělat pro první vzorec, který jste poskytli :) Díky předem!
Tento komentář byl moderátorem webu minimalizován
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 !
jak na to
Díky předem
Tento komentář byl moderátorem webu minimalizován
Ahoj, omlouvám se za to. Abychom se tomuto problému vyhnuli, upgradujeme naši funkci v další verzi. Děkujeme za vaši zpětnou vazbu.
Tento komentář byl moderátorem webu minimalizován
BCP děkuji
Jaká je nová verze?
Tento komentář byl moderátorem webu minimalizován
Ahoj, nová verze je v plánu, protože další verze upgraduje několik funkcí, může to chvíli trvat.
Tento komentář byl moderátorem webu minimalizován
Ahoj, aktualizovali jsme pro vás tuto verzi, ale toto je beta verze, stáhněte si ji prosím z tohoto: https://download.extendoffice.com/downloads/Kutools-for-Excel/beta/26.10/KutoolsforExcelSetup.Inno.exe
Pokud se vyskytnou nějaké problémy, uvítáme vaši zpětnou vazbu.
Tento komentář byl moderátorem webu minimalizován
Díky,
Je vais la télécharger et essayer.
Bonne journée
Tento komentář byl moderátorem webu minimalizován
kód funguje, ale nedovolí mi smazat, může někdo prosím poslat nový kód.
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění