Cuprins
Atunci când lucrăm cu un set mare de date, de multe ori devine dificil să extragem din el o valoare selectivă. În plus, nu puteți alege mai mult de mai multe informații simultan. În acest caz, ListBox este o soluție foarte utilă în Excel Dar procesul de creare a acestui ListBox este un pic mai complicat. Prin urmare, în acest articol, vom învăța cum să creăm un multi-select ListBox în excel cu câțiva pași simpli.
Descărcați caietul de practică
Obțineți fișierul de probă pentru a exersa.
Multi Select ListBox.xlsmProceduri pas cu pas pentru a crea Multi Select ListBox în Excel
Pentru a face procesul mai ușor, l-am împărțit în 8 Deci, fără alte întârzieri, să trecem la pașii de mai jos pentru a vedea cum putem crea un multi-select ListBox în Excel.
Pasul 1: Creați tabelul Excel din setul de date
Inițial, trebuie să pregătim un set de date de probă și să îl convertim într-un tabel. Pentru a face acest lucru, urmați pașii de mai jos.
- În primul rând, creați un set de date cu informațiile din 10 Nume de orașe și a lor Populația totală a SUA până la 1, iulie în Gama de celule B5:C14 .
- Acum, faceți clic pe orice celulă din setul de date și alegeți Tabelul de la Introduceți tab.
- Apoi, veți vedea Creați tabelul care selectează automat intervalul de celule pentru a crea un tabel.
- În această fereastră, marcați bifat Tabelul meu are anteturi și apăsați OK .
- Ca rezultat, veți vedea că setul de date este convertit într-un tabel.
- Împreună cu acesta, puteți găsi tabelul în Nume tabel de sub caseta Design de masă fila
- Puteți schimba numele tabelului în funcție de preferințele dumneavoastră.
Citește mai mult: Cum să creați o listă derulantă dependentă în Excel
Pasul 2: Numește lista de seturi de date din Name Manager
Acum, vom numi fiecare categorie de interval de celule din tabel. Pentru aceasta, parcurgeți pașii.
- Mai întâi, selectați orice celulă din Coloana B în tabel.
- Apoi, mergeți la Formule și selectați Definiți numele .
- După aceasta, veți vedea Nume nou caseta de dialog.
- În această casetă de dialog, furnizați orice nume conform antetului de coloană selectat în caseta de dialog Nume cutie.
- În continuare, faceți clic pe butonul Se referă la în aceeași fereastră.
- Apoi, puneți cursorul deasupra antetului și va apărea o săgeată neagră.
- După aceea, apăsați clic stânga pentru a selecta Gama de celule B5:B14 .
- Ca rezultat, veți vedea lista de nume împreună cu numele tabelului în fereastra Se referă la și apăsați OK .
- Urmați aceeași procedură, pentru Gama de celule C5:C14 de asemenea.
- În cele din urmă, veți vedea numele din Caseta de nume în colțul din stânga sus al registrului de lucru.
Pasul 3: Creați lista derulantă cu validarea datelor
În această etapă, vom crea o listă derulantă din intervalele numite, cu validarea datelor. Aceasta este partea esențială a creării unei liste de tip ListBox Vom crea acest lucru într-o altă foaie de lucru din registrul de lucru. Dar puteți face acest lucru și în aceeași foaie de lucru. Să vedem procesul de mai jos.
- La început, selectați câteva celule din tabel în care doriți să aplicați Validarea datelor .
- Apoi, mergeți la Date și alegeți Validarea datelor în Instrumente de date secțiune.
- În continuare, în secțiunea Setări fila, alegeți Lista în Permiteți cutie.
- De asemenea, marca a verificat Ignoră spațiul gol și Picătură derulantă în celulă cutii.
- După aceea, faceți clic pe butonul Sursa în această fereastră și apăsați F3 pe tastatură.
- Ca urmare, veți vedea Numele pastei caseta de dialog cu lista de nume.
- Aici, alegeți Nume de orașe din listă și apăsați OK .
- Apoi, veți vedea numele primei liste afișat în caseta sursă.
- În cele din urmă, apăsați OK și aplicați același proces pentru a doua listă de nume.
- În cele din urmă, veți vedea că Validarea datelor este activată pe celulele selectate.
Pasul 4: Introduceți codul VBA în foaia de lucru validată
Acum vine partea crucială a inserării VBA pentru a crea un cod ListBox Iată care este procesul de realizare a acestui lucru.
- Mai întâi, faceți clic dreapta pe foaia de lucru validată și selectați Vezi codul de la Meniul contextual .
- Apoi, inserați acest cod în pagină.
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 = 3Then strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If End If exitHandler: Application.EnableEvents = True End Sub
- În continuare, mergeți la Introduceți și selectați Modul .
- În acest moment, numele registrului de lucru trebuie să fie selectat în fereastra Obiectul proiectului fereastră.
- Apoi, redenumiți modulul ca fiind modSettings și introduceți acest cod.
Option Explicit Global strDVList ca String
Mulțumiri pentru Contexte pentru furnizarea codurilor.
Pasul 5: Creați UserForm cu Listbox & Butoane
În această etapă, vom crea un fișier UserForm pentru registrul de lucru, împreună cu un ListBox și unele Butoane de comandă Pentru a face acest lucru, urmați procedura de mai jos.
- În primul rând, selectați registrul de lucru în fereastra de lucru Proiect-VBAProiect în fereastra Visual Basic editor.
- Apoi, mergeți la Introduceți și selectați UserForm .
- Ca urmare, veți obține UserForm interfață ca aceasta.
- Împreună cu aceasta, veți obține și Cutia de instrumente fereastră.
- De aici, trageți ListBox la UserForm .
- Apoi, se va trece la ListBox Puteți ajusta dimensiunea glisând marginile cutiei.
- În continuare, trageți în jos CommanButton de două ori la UserForm precum și pentru a crea 2 butoane pentru operare.
- În cele din urmă, rezultatul final arată astfel.
Pasul 6: Modificați setările proprietăților
În această etapă, vom face câteva modificări în proprietățile fiecărei componente a ListBox .
- La început, apăsați F4 pe Visual Basic pentru a deschide fereastra Fereastra Proprietăți .
- Apoi, selectați UserForm și modificați Nume și Legenda de genul acesta.
- În continuare, selectați ListBox și modificați Nume în funcție de preferințele dumneavoastră.
- În plus, modificați tipul de ListStyle , MultiSelect și SpecialEffect conform imaginii de mai jos.
- Acum, alegeți primul buton de comandă și efectuați următoarele modificări în proprietățile acestuia.
- În plus, editați și proprietățile celui de-al doilea buton de comandă.
Pasul 7: Aplicați codul VBA la UserForm
În această etapă, vom aplica VBA coduri pentru fiecare dintre componentele UserForm Să vedem cum funcționează.
- În primul rând, selectați UserForm și mergeți la Vezi pentru a selecta Cod .
- Apoi, inserați acest cod pe pagina goală. Acesta va fi executat automat atunci când se va deschide pagina UserForm este deschis.
Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub
- După aceasta, reveniți la UserForm făcând clic pe Obiect pe Vezi tab.
- Acum, urmați procesul pentru a introduce acest cod pentru OK buton.
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 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
- Pe lângă aceasta, introduceți acest cod pentru Închideți utilizând același procedeu.
Private Sub cmdClose_Click() Descărcați-mă End Sub
- În cele din urmă, apăsați Ctrl + S pentru a o salva și a închide fereastra.
Mulțumiri pentru Contexte pentru că m-ați ajutat cu codurile.
Pasul 8: Multi Select from ListBox
În cele din urmă, am reușit să creăm cu succes un ListBox pentru selecții multiple. Pentru a verifica dacă codul funcționează sau nu, parcurgeți pur și simplu acești pași.
- În primul rând, selectați Celula B5 unde am aplicat Validarea datelor .
- Imediat după aceea, un ListBox va apărea o comandă Selectați elementul din listă .
- În această fereastră, puteți alege mai multe nume din listă.
- Apoi, apăsați OK .
- În cele din urmă, ați reușit să faceți cu succes o selecție multiplă din lista ListBox și fiecare nume este separat de un Virgulă ( , ).
Lucruri de reținut
- Domenii numite nu va crea un fișier Validarea datelor dacă sunt introduse ca referință de celulă sau cu delimitatori.
- The Variabila globală se aplică atât pentru UserForm și Foaie de calcul VBA cod. Orice nume de celulă activă trece inițial codul strDVList la un interval temporar și apoi este utilizat ca un RowSource pentru ListBox atunci când un utilizator deschide fereastra UserForm .
- Puteți combina mai multe intervale într-un singur nume pentru a facilita selecția.
Concluzie
Asta e tot pentru astăzi. Sper că acești pași lungi, dar simpli, despre cum să creați ListBox cu selectare multiplă în excel v-au ușurat puțin subiectul. Spuneți-ne părerea dvs. în caseta de comentarii. Follow ExcelWIKI pentru mai multe articole de acest gen.