Jak vytvořit rozevírací seznam v aplikaci Excel s více výběry

  • Sdílet Toto
Hugh West

Až dosud jsme se zabývali jak vytvářet rozevírací seznamy v Excelu. Dnes ukážu jak vytvořit rozevírací seznam s více možnostmi výběru v aplikaci Excel .

Stáhnout cvičebnici

Cvičebnici si můžete stáhnout zde.

Vytvoření rozevíracího seznamu s vícenásobným výběrem.xlsm

Postupy krok za krokem pro vytvoření rozevíracího seznamu v aplikaci Excel s více výběry

Zde máme datovou sadu se sloupcem Název knihy který obsahuje několik názvů knih. Naším dnešním cílem je vytvořit na základě tohoto datového souboru rozbalovací seznam, který umožňuje více výběrů. V následující části ukážu postup krok za krokem.

KROK 1: Vytvoření rozevíracího seznamu pomocí ověřování dat

Pro vytvoření rozevíracího seznamu s více výběry musíme nejprve vytvořit rozevírací seznam. Projděme si jednotlivé postupy.

  • Nejprve vyberte buňku, ve které chcete vytvořit rozevírací seznam. Já jsem vybral. Buňka D5 .

  • Poté přejděte do Data a vyberte možnost Ověřování dat ze stuhy.

  • Pak z Ověřování dat vyberte možnost Seznam na adrese Povolit a zapište buňky rozsahu, jejichž data chcete přidat do seznamu v sekci Zdroj: pole.
  • Případně můžete kliknout na malou šipku nahoru v okně Zdroj: a vyberte rozsah dat z pracovního listu.

  • Nakonec uvidíme rozevírací seznam vytvořený v položce Buňka D5 .

Podobné čtení:

  • Jak vytvořit rozevírací seznam v aplikaci Excel (nezávislý a závislý)
  • Provedení vícenásobného výběru z rozevíracího seznamu v aplikaci Excel (3 způsoby)
  • Jak vytvořit závislý rozevírací seznam v aplikaci Excel
  • Vytvoření rozevíracího seznamu ve více sloupcích v aplikaci Excel (3 způsoby)

KROK 2: Povolení rozevíracího seznamu pro vícenásobný výběr pomocí kódu VBA

Rozbalovací seznam jsme již vytvořili. Nyní je čas připravit rozbalovací seznam pro vícenásobný výběr. Použiji 2 VBA kódy, které umožní seznamu přijmout více výběrů. Jeden bude akceptovat opakování údajů a druhý opakování údajů nepřijme.

Případ 1: Kód VBA pro vícenásobné výběry s opakováním

V této části ukážu způsob, jak vytvořit rozevírací seznam s více možnostmi výběru, který bude obsahovat opakující se údaje.

Projděme si jednotlivé postupy.

  • Nejprve stiskněte ALT + F11 otevřít VBA okno.
  • Pak vyberte Projekt Explorer . Také, double - klikněte na na listu, kde chcete úkol provést.

  • Současně se Kód otevře se okno.
  • Poté do tohoto okna napište následující kód.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" ThenTarget.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub 

Poznámka: V části kódu ( Pokud Target.Address = "$D$5" Pak ) místo odkazu na buňku $D$5, napíšete odkaz na buňku, ve které jste vytvořili rozevírací seznam.

  • Nakonec se vrátíme na pracovní list a budeme moci vybrat více prvků v rozevíracím seznamu s opakováním stejného prvku.

Případ 2: Kód VBA pro vícenásobný výběr bez opakování

V této části ukážu způsob, jak vytvořit rozevírací seznam s více výběry, který nebude vyžadovat opakování údajů.

Projděme si jednotlivé postupy.

  • Nejprve stiskněte ALT + F11 otevřít VBA okno.
  • Pak vyberte Projekt Explorer . Také, double - klikněte na na listu, kde chcete úkol provést.

  • Současně se Kód zobrazí se okno.
  • Poté do tohoto okna zadejte následující kód.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue =Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & ", " & Newvalue Else: Target.Value = Oldvalue End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub 

Poznámka: V části kódu ( Pokud Target.Address = "$D$5" Pak ) místo odkazu na buňku $D$5, napíšete odkaz na buňku, ve které jste vytvořili rozevírací seznam.

  • Nakonec se vrátíme na pracovní list a budeme moci vybrat více prvků v rozevíracím seznamu, aniž by se opakoval stejný prvek.

Závěr

Pomocí této metody můžete v aplikaci Excel vytvořit rozevírací seznam s více možnostmi výběru. Máte nějaké dotazy? Neváhejte a dejte nám vědět v sekci komentářů. Navštivte naši stránku. Webové stránky ExcelWIKI pro více článků týkajících se Excel .

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.