Jak vytvořit rozevírací seznam s více výběry nebo hodnotami v aplikaci Excel?
Ve výchozím nastavení můžete vybrat pouze jednu položku v rozevíracím seznamu ověření dat v aplikaci Excel. Jak můžete provést více výběrů v rozevíracím seznamu, jak je uvedeno níže? Metody v tomto článku vám mohou pomoci problém vyřešit.
Další výukový program pro rozevírací seznam ...
Vytvořte rozevírací seznam s více výběry pomocí kódu VBA
Tato část obsahuje dva kódy VBA, které vám pomohou provést více výběrů v rozevíracích seznamech v listu. Dva kódy VBA mohou dosáhnout:
Chcete-li provést více výběrů v rozevíracím seznamu v listu v aplikaci Excel, můžete použít jeden z následujících kódů VBA. Postupujte prosím následovně.
1. Otevřete list s rozevíracími seznamy ověření dat, ze kterých chcete provést více výběrů. Klikněte pravým tlačítkem na záložku listu a vyberte Zobrazit kód z kontextové nabídky.
2. V Microsoft Visual Basic pro aplikace zkopírujte níže uvedený kód VBA do okna kódu. Viz snímek obrazovky:
Kód VBA 1: Umožňuje vícenásobný výběr v rozevíracím seznamu bez duplicit
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. zmáčkni Další + Q klávesy pro zavření Microsoft Visual Basic pro aplikace okno.
Nyní můžete vybrat více položek z rozevíracího seznamu v aktuálním listu.
Předpokládejme, že jste náhodně vybrali položku a potřebujete ji odstranit, aniž byste vyčistili celou buňku a začali znovu. Následující kód VBA 2 vám může udělat laskavost.
Kód VBA 2: Povolit vícenásobný výběr v rozevíracím seznamu bez duplicit (smazat existující položky opětovným výběrem)
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
Poznámky:
Snadno vytvářejte rozevírací seznam s více výběry pomocí úžasného nástroje
Zde vřele doporučujeme Multi-select rozevírací seznam vlastnost Kutools pro Excel pro tebe. Díky této funkci můžete snadno vybrat více položek z rozevíracího seznamu v zadaném rozsahu, aktuálním listu, aktuálním sešitu nebo ve všech otevřených sešitech, jak potřebujete.
Před aplikací Kutools pro Excel, Prosím nejprve si jej stáhněte a nainstalujte.
1. cvaknutí Kutools > Rozbalovací seznam > Multi-select rozevírací seznam > Nastavení. Viz obrázek:
2. V Multi-select Nastavení rozevíracího seznamu V dialogovém okně proveďte následující konfiguraci.
- 2.1) Upřesněte použitelný rozsah v Naneste na sekce. V tomto případě vyberu Aktuální list z Specifikovaný rozsah rozbalovací seznam;
- 2.2) V Směr textu sekce vyberte směr textu podle svých potřeb;
- 2.3) V oddělovač do pole zadejte oddělovač, který použijete k oddělení více hodnot;
- 2.4) Zkontrolujte Nepřidávejte duplikáty pole v možnosti sekce, pokud nechcete dělat duplikáty v buňkách rozevíracího seznamu;
- 2.5) Klikněte na OK knoflík. Viz screenshot:
3. Klikněte prosím Kutools > Rozbalovací seznam > Multi-select rozevírací seznam pro povolení této funkce.
Nyní můžete vybrat více položek z rozevíracího seznamu v aktuálním listu nebo v jakémkoli oboru, který jste zadali v kroku 2.
Pokud chcete mít bezplatnou zkušební verzi (30-den) této utility, kliknutím jej stáhněte, a poté přejděte k použití operace podle výše uvedených kroků.
Související články:
Automatické doplňování při psaní v rozevíracím seznamu aplikace Excel
Pokud máte rozevírací seznam pro ověření dat s velkými hodnotami, musíte v seznamu posunout dolů, abyste našli ten správný, nebo přímo zadat celé slovo do seznamu. Pokud existuje metoda umožňující automatické dokončení při psaní prvního písmene do rozevíracího seznamu, vše bude jednodušší. Tento výukový program poskytuje způsob řešení problému.
Vytvořte rozevírací seznam z jiného sešitu v aplikaci Excel
Je docela snadné vytvořit rozevírací seznam pro ověření dat mezi listy v sešitu. Ale pokud se seznamová data, která potřebujete pro ověření dat, nacházejí v jiném sešitu, co byste udělali? V tomto kurzu se naučíte, jak vytvořit seznam drop fown z jiného sešitu v aplikaci Excel podrobně.
Vytvořte prohledávatelný rozevírací seznam v aplikaci Excel
Pro rozevírací seznam s mnoha hodnotami není hledání správné práce snadná práce. Dříve jsme zavedli způsob automatického vyplňování rozevíracího seznamu při zadávání prvního písmene do rozevíracího seznamu. Kromě funkce automatického doplňování můžete také v rozevíracím seznamu vyhledávat, abyste zvýšili efektivitu práce při hledání správných hodnot v rozevíracím seznamu. Chcete-li v rozevíracím seznamu vyhledávat, vyzkoušejte metodu v tomto kurzu.
Automatické vyplnění dalších buněk při výběru hodnot v rozevíracím seznamu aplikace Excel
Řekněme, že jste vytvořili rozevírací seznam na základě hodnot v oblasti buněk B8: B14. Když vyberete libovolnou hodnotu z rozevíracího seznamu, chcete, aby se ve vybrané buňce automaticky naplnily odpovídající hodnoty v rozsahu buněk C8: C14. Při řešení problému vám metody v tomto tutoriálu udělají laskavost.
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-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.

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!
































