Obsah
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.xlsmPostupy 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.