Obsah
Keď pracujeme s veľkým súborom údajov, často je ťažké získať z neho akúkoľvek selektívnu hodnotu. Navyše nie je možné vybrať viac ako viacero informácií súčasne. V tomto prípade ListBox je veľmi užitočným riešením v Excel . Ale proces vytvárania tohto ListBox Preto sa v tomto článku naučíme, ako vytvoriť viacnásobný výber ListBox v programe Excel pomocou niekoľkých jednoduchých krokov.
Stiahnite si cvičebnicu
Získajte vzorový súbor na precvičenie.
Viacnásobný výber ListBox.xlsmPostupy krok za krokom na vytvorenie viacnásobného výberového poľa ListBox v programe Excel
Aby sme vám tento proces uľahčili, rozdelili sme ho na 8 Poďme sa teda bez ďalšieho zdržiavania pustiť do nasledujúcich krokov, aby sme videli, ako môžeme vytvoriť viacnásobný výber ListBox v programe Excel.
Krok 1: Vytvorenie tabuľky programu Excel zo súboru údajov
Na začiatku musíme pripraviť vzorový súbor údajov a previesť ho na tabuľku. Ak to chcete urobiť, postupujte podľa nasledujúcich krokov.
- Najprv vytvorte súbor údajov s informáciami o 10 názvov miest a ich Celkový počet obyvateľov z USA do 1. júla v Rozsah buniek B5:C14 .
- Teraz kliknite na ľubovoľnú bunku súboru údajov a vyberte Tabuľka z Vložte tab.
- Potom uvidíte Vytvoriť tabuľku ktoré automaticky vyberie rozsah buniek na vytvorenie tabuľky.
- V tomto okne označte začiarknuté políčko Moja tabuľka má hlavičky a stlačte OK .
- Výsledkom je, že súbor údajov sa prevedie na tabuľku.
- Spolu s ním nájdete tabuľku v Názov tabuľky v rámčeku pod Dizajn stola karta
- Názov tabuľky môžete zmeniť podľa svojich preferencií.
Prečítajte si viac: Ako vytvoriť závislý rozbaľovací zoznam v programe Excel
Krok 2: Zoznam názvov súborov údajov zo Správcu názvov
Teraz pomenujeme každú kategóriu rozsahu buniek z tabuľky. Na tento účel vykonajte nasledujúce kroky.
- Najprv vyberte ľubovoľnú bunku z Stĺpec B v tabuľke.
- Potom prejdite na Vzorce a vyberte kartu Definovať názov .
- Po tomto kroku sa zobrazí Nový názov dialógové okno.
- V tomto dialógovom okne zadajte ľubovoľný názov podľa vybraného záhlavia stĺpca v Názov box.
- Potom kliknite na Vzťahuje sa na v tom istom okne.
- Potom umiestnite kurzor na záhlavie a zobrazí sa čierna šípka.
- Potom stlačením ľavého tlačidla myši vyberte Rozsah buniek B5:B14 .
- Výsledkom bude zoznam názvov spolu s názvom tabuľky v okne Vzťahuje sa na a stlačte OK .
- Rovnakým spôsobom postupujte aj v prípade Rozsah buniek C5:C14 tiež.
- Nakoniec sa vám zobrazia názvy v Box s názvom v ľavom hornom rohu zošita.
Krok 3: Vytvorenie rozbaľovacieho zoznamu s overovaním údajov
V tejto fáze vytvoríme z pomenovaných rozsahov rozbaľovací zoznam s overovaním údajov. Toto je podstatná časť vytvárania ListBox . vytvoríme ho v inom hárku v zošite. Môžete to však urobiť aj v tom istom hárku. Pozrime sa na postup uvedený nižšie.
- Na začiatku vyberte niektoré bunky z tabuľky, na ktoré chcete použiť Overovanie údajov .
- Potom prejdite na Údaje a vyberte Overovanie údajov v Dátové nástroje sekcia.
- Ďalej v Nastavenia vyberte kartu Zoznam v Povoľte box.
- Skontrolujte aj značku Ignorovať prázdne miesto a Rozbaľovacie okno v bunke škatule.
- Potom kliknite na Zdroj v tomto okne a stlačte F3 na klávesnici.
- Výsledkom je, že uvidíte Vložiť názov dialógové okno so zoznamom názvov.
- Tu vyberte Názvy miest zo zoznamu a stlačte OK .
- Potom sa v okne zdroja zobrazí názov prvého zoznamu.
- Nakoniec stlačte OK a rovnaký postup použite pre druhý zoznam názvov.
- Nakoniec uvidíte, že Overovanie údajov sa aktivuje na vybraných bunkách.
Krok 4: Vloženie kódu VBA do overeného pracovného hárka
Teraz prichádza kľúčová časť vloženia VBA kód na vytvorenie ListBox . Nasleduje tento postup.
- Najprv kliknite pravým tlačidlom myši na potvrdený pracovný hárok a vyberte položku Zobraziť kód z Kontextové menu .
- Potom vložte tento kód na stránku.
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 = 3Potom strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub
- Potom prejdite na Vložte a vyberte kartu Modul .
- V tomto okamihu musí byť názov zošita vybraný v Objekt projektu okno.
- Potom premenujte modul na modSettings a vložte tento kód.
Explicitná voľba Global strDVList As String
Vďaka Kontexty za poskytnutie kódov.
Krok 5: Vytvorenie používateľského formulára so zoznamom & tlačidlami
V tejto fáze vytvoríme Používateľský formulár pre zošit spolu s ListBox a niektoré Príkazové tlačidlá Postupujte podľa nasledujúceho postupu.
- Najprv vyberte zošit v Projekt-VBAProjekt v okne Visual Basic redaktor.
- Potom prejdite na Vložte a vyberte kartu Používateľský formulár .
- V dôsledku toho získate Používateľský formulár takéto rozhranie.
- Spolu s tým získate aj Toolbox okno.
- Odtiaľ potiahnite ListBox na Používateľský formulár .
- Potom sa ListBox Veľkosť môžete upraviť potiahnutím okrajov poľa.
- Potom potiahnite CommanButton dvakrát na Používateľský formulár tiež vytvoriť 2 tlačidlá na ovládanie.
- Konečný výstup vyzerá takto.
Krok 6: Zmena nastavení vlastností
V tejto fáze vykonáme niekoľko zmien vo vlastnostiach jednotlivých zložiek ListBox .
- Na začiatku stlačte F4 na Visual Basic otvoriť editor Okno s vlastnosťami .
- Potom vyberte Používateľský formulár a zmeniť Názov a Titulok o tom takto.
- Ďalej vyberte ListBox a zmeniť Názov podľa vašich preferencií.
- Okrem toho zmeňte typ ListStyle , MultiSelect a Špeciálny efekt podľa obrázka nižšie.
- Teraz vyberte prvé príkazové tlačidlo a vo vlastnostiach vykonajte nasledujúce zmeny.
- Okrem toho upravte aj vlastnosti druhého príkazového tlačidla.
Krok 7: Použitie kódu VBA na UserForm
V tejto fáze použijeme VBA kódy pre každú zložku Používateľský formulár Pozrime sa, ako to funguje.
- Najprv vyberte Používateľský formulár a prejdite do Zobraziť vybrať kartu Kód .
- Potom vložte tento kód na prázdnu stránku. Automaticky sa spustí, keď Používateľský formulár je otvorená.
Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub
- Potom sa vráťte do Používateľský formulár rozhranie kliknutím na Objekt na Zobraziť tab.
- Teraz postupujte tak, aby ste vložili tento kód pre OK tlačidlo.
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 zadajte tento kód pre Zatvoriť rovnakým postupom.
Súkromný Sub cmdClose_Click() Unload Me End Sub
- Nakoniec stlačte Ctrl + S uložíte a zatvoríte okno.
Vďaka Kontexty za pomoc s kódmi.
Krok 8: Viacnásobný výber z okna ListBox
Nakoniec sme úspešne vytvorili ListBox pre viacnásobný výber. Ak chcete skontrolovať, či kód funguje alebo nie, jednoducho prejdite týmito krokmi.
- Najprv vyberte Bunka B5 kde sme použili Overovanie údajov .
- Hneď potom sa ListBox vyskočí okno s príkazom Vyberte položku zo zoznamu .
- V tomto okne vyberte zo zoznamu viac ako jeden názov.
- Potom stlačte tlačidlo OK .
- Nakoniec ste úspešne vybrali viacero možností z ListBox a každý názov je oddelený znakom Čiarka ( , ).
Čo si treba zapamätať
- Pomenované rozsahy nevytvorí Overovanie údajov ak sú zadané ako odkaz na bunku alebo s oddeľovačmi.
- Stránka Globálna premenná sa používa pre obe Používateľský formulár a Pracovný hárok VBA Každý aktívny názov bunky pôvodne prechádza kódom strDVList do dočasného rozsahu a potom sa použije ako RowSource pre ListBox keď používateľ otvorí Používateľský formulár .
- Na uľahčenie výberu môžete spojiť viacero rozsahov do jedného názvu.
Záver
To je pre dnešok všetko. Dúfam, že tieto dlhé, ale jednoduché kroky, ako vytvoriť viacnásobný výber ListBox v programe Excel vám túto tému trochu uľahčili. Dajte nám vedieť svoje pripomienky v poli pre komentáre. ExcelWIKI pre viac podobných článkov.