Jak vytvořit vícevýběrové pole ListBox v aplikaci Excel (ve snadných krocích)

  • Sdílet Toto
Hugh West

Když pracujeme s velkým souborem dat, často je obtížné z něj získat nějakou výběrovou hodnotu. Navíc nelze vybrat více než několik informací současně. V tomto případě ListBox je velmi užitečným řešením v Excel . Ale proces vytváření tohoto ListBox Proto se v tomto článku naučíme, jak vytvořit vícenásobný výběr. ListBox v programu Excel pomocí několika jednoduchých kroků.

Stáhnout cvičebnici

Získejte ukázkový soubor k procvičení.

Multi Select ListBox.xlsm

Postupy krok za krokem pro vytvoření vícevýběrového pole ListBox v aplikaci Excel

Abychom vám tento proces usnadnili, rozdělili jsme jej na. 8 pro lepší pochopení. Bez dalšího zdržování se tedy vrhněme na následující kroky, abychom zjistili, jak můžeme vytvořit vícenásobný výběr. ListBox v aplikaci Excel.

Krok 1: Vytvoření tabulky aplikace Excel ze souboru dat

Zpočátku musíme připravit vzorovou datovou sadu a převést ji do tabulky. Za tímto účelem postupujte podle následujících kroků.

  • Nejprve vytvořte datovou sadu s informacemi o 10 názvů měst a jejich Celkový počet obyvatel o USA do 1. července v Rozsah buněk B5:C14 .

  • Nyní klikněte na libovolnou buňku datového souboru a vyberte možnost Tabulka z Vložte tab.

  • Pak se zobrazí Vytvořit tabulku které automaticky vybere rozsah buněk pro vytvoření tabulky.
  • V tomto okně zaškrtněte políčko Moje tabulka má záhlaví a stiskněte tlačítko OK .

  • Výsledkem je převedení datové sady na tabulku.

  • Spolu s ním najdete tabulku v sekci Název tabulky v rámečku pod Design stolu karta

  • Název tabulky můžete změnit podle svých preferencí.

Přečtěte si více: Jak vytvořit závislý rozevírací seznam v aplikaci Excel

Krok 2: Pojmenování seznamu datových sad ze Správce názvů

Nyní pojmenujeme jednotlivé kategorie rozsahu buněk z tabulky. Za tímto účelem proveďte následující kroky.

  • Nejprve vyberte libovolnou buňku z Sloupec B v tabulce.
  • Pak přejděte do Vzorce a vyberte možnost Definovat název .

  • Poté se zobrazí Nový název dialogové okno.
  • V tomto dialogovém okně zadejte libovolný název podle vybraného záhlaví sloupce v poli Název box.

  • Dále klikněte na Vztahuje se na ve stejném okně.
  • Poté umístěte kurzor na záhlaví a zobrazí se černá šipka.
  • Poté stiskněte levé tlačítko myši a vyberte položku Rozsah buněk B5:B14 .

  • Výsledkem bude seznam názvů spolu s názvem tabulky v okně Vztahuje se na a stiskněte tlačítko OK .

  • Stejným způsobem postupujte i v případě Rozsah buněk C5:C14 také.
  • Nakonec se zobrazí jména v Box se jménem v levém horním rohu sešitu.

Krok 3: Vytvoření rozevíracího seznamu s ověřením dat

V této fázi vytvoříme z pojmenovaných rozsahů rozevírací seznam s ověřením dat. To je podstatná část vytváření seznamu. ListBox . Vytvoříme ji v jiném listu v sešitě. Můžete ji však vytvořit i ve stejném listu. Podívejme se na postup níže.

  • Na začátku vyberte některé buňky z tabulky, na které chcete aplikovat Ověřování dat .
  • Pak přejděte do Data a vyberte možnost Ověřování dat v Datové nástroje sekce.

  • Dále v Nastavení vyberte kartu Seznam v Povolit box.

  • Zkontrolujte také značku Ignorovat prázdné místo a Rozbalovací nabídka v buňce krabice.

  • Poté klikněte na Zdroj: v tomto okně a stiskněte tlačítko F3 na klávesnici.
  • V důsledku toho se zobrazí Vložit název dialogové okno se seznamem názvů.
  • Zde vyberte Názvy měst ze seznamu a stiskněte OK .

  • Poté se v poli zdroje zobrazí název prvního seznamu.

  • Nakonec stiskněte OK a stejný postup použijte pro druhý seznam jmen.
  • Nakonec uvidíte, že Ověřování dat se aktivuje ve vybraných buňkách.

Krok 4: Vložení kódu VBA do ověřeného pracovního listu

Nyní přichází klíčová část vložení VBA kód pro vytvoření ListBox . Následuje následující postup.

  • Nejprve klikněte pravým tlačítkem myši na ověřený pracovní list a vyberte možnost Zobrazit kód z Kontextová nabídka .

  • Poté na stránku vložte tento kód.
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim strList As String On Error Resume Next Application.EnableEvents = False Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler If rngDV Is Nothing Then GoTo exitHandler If Not Intersect(Target, rngDV) Is Nothing Then If Target.Validation.Type = 3Pak strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub 

  • Poté přejděte do Vložte a vyberte možnost Modul .
  • V tomto okamžiku musí být název sešitu vybrán v okně Objekt projektu okno.

  • Pak modul přejmenujte na modSettings a vložte tento kód.
 Option Explicit Global strDVList As String 

Díky Souvislosti za poskytnutí kódů.

Krok 5: Vytvoření uživatelského formuláře se seznamem & tlačítky

V této fázi vytvoříme Uživatelský formulář pro sešit spolu s ListBox a některé Příkazová tlačítka . Postupujte podle následujícího postupu.

  • Nejprve vyberte sešit v Projekt-VBAProjekt v okně Visual Basic editor.

  • Pak přejděte do Vložte a vyberte možnost Uživatelský formulář .

  • Díky tomu získáte Uživatelský formulář rozhraní, jako je toto.

  • Spolu s tím získáte také Toolbox okno.
  • Odtud přetáhněte ListBox na Uživatelský formulář .

  • Poté se ListBox bude vypadat takto. Velikost můžete upravit přetažením okrajů rámečku.

  • Poté přetáhněte CommanButton dvakrát na Uživatelský formulář také vytvořit 2 tlačítka pro ovládání.

  • Konečný výstup vypadá takto.

Krok 6: Změna nastavení vlastností

V této fázi provedeme několik změn ve vlastnostech jednotlivých komponent. ListBox .

  • Na začátku stiskněte F4 na Visual Basic otevřít editor Okno vlastností .
  • Poté vyberte Uživatelský formulář a změnit Název a Titulek o tom takto.

  • Dále vyberte ListBox a změnit Název podle vašich preferencí.

  • Dále změňte typ ListStyle , MultiSelect a Speciální efekt podle obrázku níže.

  • Nyní vyberte první příkazové tlačítko a ve vlastnostech proveďte následující změny.

  • Kromě toho upravte také vlastnosti druhého příkazového tlačítka.

Krok 7: Použití kódu VBA na formulář UserForm

V této fázi použijeme VBA kódy pro jednotlivé součásti Uživatelský formulář . Podívejme se, jak to funguje.

  • Nejprve vyberte Uživatelský formulář a přejděte do Zobrazit vybrat kartu Kód .

  • Poté vložte tento kód na prázdnou stránku. Automaticky se spustí, když se zobrazí Uživatelský formulář je otevřen.
 Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub 

  • Poté se vraťte do Uživatelský formulář rozhraní kliknutím na Objekt na Zobrazit tab.

  • Nyní postupujte tak, abyste vložili tento kód do pole OK tlačítko.
 Private Sub cmdOK_Click() Dim strSelItems As String Dim lCountList As Long Dim strSep As String Dim strAdd As String Dim bDup As Boolean On Error Resume Next strSep = ", " With Me.lstDV For lCountList = 0 To .ListCount - 1 If .Selected(lCountList) Then strAdd = .List(lCountList) Else strAdd = "" End If strSelItems = "" Then strSelItems = strAdd Else If strAdd "" Then strSelItems = strSelItems_ & strSep & strAdd End If End If Next lCountList End With With ActiveCell If .Value "" Then .Value = ActiveCell.Value _ & strSep & strSelItems Else .Value = strSelItems End If End With Unload Me End Sub 

  • Spolu s tím zadejte tento kód pro. Zavřít stejným postupem.
 Soukromý Sub cmdClose_Click() Unload Me End Sub 

  • Nakonec stiskněte Ctrl + S uložit a zavřít okno.

Díky Souvislosti za pomoc s kódy.

Krok 8: Vícenásobný výběr z pole ListBox

Nakonec jsme úspěšně vytvořili ListBox pro více výběrů. Chcete-li zkontrolovat, zda kód funguje, nebo ne, jednoduše proveďte tyto kroky.

  • Nejprve vyberte Buňka B5 kde jsme použili Ověřování dat .
  • Hned poté se objevil ListBox se objeví příkaz Výběr položky ze seznamu .
  • V tomto okně vyberte ze seznamu více než jeden název.

  • Pak stiskněte tlačítko OK .
  • Nakonec jste úspěšně provedli vícenásobný výběr z nabídky ListBox a každý název je oddělen znakem Čárka ( , ).

Na co nezapomenout

  • Pojmenované rozsahy nevytvoří Ověřování dat pravidlo, pokud jsou zadány jako odkaz na buňku nebo s oddělovači.
  • Na stránkách Globální proměnná se použije pro obě Uživatelský formulář a Pracovní list VBA Jakýkoli aktivní název buňky zpočátku předává kód strDVList do dočasného rozsahu a poté se použije jako RowSource pro ListBox když uživatel otevře Uživatelský formulář .
  • Pro snadnější výběr můžete spojit více rozsahů do jednoho názvu.

Závěr

To je pro dnešek vše. Doufám, že tyto dlouhé, ale jednoduché kroky, jak vytvořit vícenásobný výběr ListBox v Excelu vám toto téma trochu usnadnili. Dejte nám vědět své názory v poli pro komentáře. Sledujte ExcelWIKI pro další podobné články.

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.