Hoe Multi Select ListBox maken in Excel (met gemakkelijke stappen)

  • Deel Dit
Hugh West

Wanneer we met een grote dataset werken, wordt het vaak moeilijk om er een selectieve waarde uit te halen. Bovendien kun je niet meer dan meerdere stukjes informatie tegelijk kiezen. In dit geval, ListBox is een zeer nuttige oplossing in Excel Maar het proces om dit te creëren ListBox is een beetje lastig. Daarom zullen we in dit artikel leren hoe we een multi-selectie kunnen maken ListBox in Excel met enkele eenvoudige stappen.

Download Praktijk Werkboek

Haal het voorbeeldbestand om te oefenen.

Multi Select ListBox.xlsm

Stap voor stap procedures om Multi Select ListBox te maken in Excel

Om het proces te vergemakkelijken, hebben wij het verdeeld in 8 Dus, zonder verder oponthoud, laten we de onderstaande stappen doorlopen om te zien hoe we een multi-selectie kunnen maken. ListBox in Excel.

Stap 1: Excel-tabel maken van dataset

In eerste instantie moeten we een voorbeelddataset voorbereiden en omzetten in een tabel. Volg daarvoor de onderstaande stappen.

  • Maak eerst een dataset met de informatie van 10 Stadsnamen en hun Totale bevolking van de USA tot 1, juli in de Celbereik B5:C14 .

  • Klik nu op een willekeurige cel van de dataset en kies Tabel van de Plaats tab.

  • Dan ziet u de Tabel aanmaken venster dat automatisch het celbereik selecteert om een tabel te maken.
  • Markeer in dit venster de Mijn tabel heeft koppen vak en druk op OK .

  • Het resultaat is dat de dataset wordt omgezet in een tabel.

  • Samen met de tabel in de Naam van de tafel vakje onder de Tafelontwerp tab

  • U kunt de naam van de tabel aanpassen aan uw voorkeur.

Lees meer: Hoe maak je een afhankelijke vervolgkeuzelijst in Excel?

Stap 2: Datasetlijst benoemen vanuit Name Manager

Nu gaan we elke categorie celbereik uit de tabel een naam geven. Doorloop hiervoor de stappen.

  • Selecteer eerst een cel uit Kolom B in de tabel.
  • Ga dan naar de Formules tabblad en selecteer Naam definiëren .

  • Hierna ziet u de Nieuwe naam dialoogvenster.
  • Geef in dit dialoogvenster een naam volgens de geselecteerde kolomkop in de Naam doos.

  • Klik vervolgens op de Verwijst naar doos in hetzelfde venster.
  • Plaats vervolgens de cursor op de kop en er verschijnt een zwarte pijl.
  • Druk daarna op de linkermuisknop om de Celbereik B5:B14 .

  • Als gevolg daarvan ziet u de lijst met namen samen met de tabelnaam in het Verwijst naar vak en druk op OK .

  • Volg dezelfde procedure, voor de Celbereik C5:C14 ook.
  • Tenslotte ziet u de namen in de Naam Box in de linkerbovenhoek van de werkmap.

Stap 3: Maak een vervolgkeuzelijst met gegevensvalidatie

In dit stadium maken we een vervolgkeuzelijst van de genoemde bereiken met gegevensvalidatie. Dit is het essentiële onderdeel van het maken van een ListBox We maken dit in een ander werkblad in de werkmap. Maar u kunt dit ook in hetzelfde werkblad doen. Laten we het proces hieronder bekijken.

  • Selecteer in het begin enkele cellen uit de tabel waarin u het volgende wilt toepassen Validatie van gegevens .
  • Ga dan naar de Gegevens tabblad en kies Validatie van gegevens in de Gegevensinstrumenten sectie.

  • Vervolgens, in de Instellingen tabblad, kies Lijst in de Sta toe. doos.

  • Ook controleerde Mark de Blanco negeren en In-cel dropdown dozen.

  • Klik daarna op de Bron vak in dit venster en druk op F3 op je toetsenbord.
  • Als gevolg daarvan ziet u de Naam plakken dialoogvenster met de namenlijst.
  • Kies hier CityNames uit de lijst en druk op OK .

  • Vervolgens ziet u de naam van de eerste lijst in het bronvak.

  • Druk tenslotte op OK en pas hetzelfde proces toe voor de tweede naamlijst.
  • Tenslotte zult u zien dat Validatie van gegevens wordt geactiveerd op de geselecteerde cellen.

Stap 4: VBA-code invoegen in gevalideerd werkblad

Nu komt het cruciale deel van het invoegen van VBA code om een ListBox Dit is de procedure.

  • Klik eerst met de rechtermuisknop op het gevalideerde werkblad en selecteer Code bekijken van de Contextmenu .

  • Voeg dan deze code in op de pagina.
 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 = 3Dan strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub 

  • Ga vervolgens naar de Plaats tabblad en selecteer Module .
  • Op dit punt moet de werkmapnaam worden geselecteerd in de Project Object raam.

  • Hernoem dan de module als modSettings en voeg deze code in.
 Optie Expliciet Globaal strDVList Als String 

Met dank aan Contexten voor het verstrekken van de codes.

Stap 5: UserForm maken met Listbox & Buttons

In dit stadium zullen we een UserForm voor de werkmap samen met een ListBox en sommige Commandoknoppen Volg hiervoor de onderstaande procedure.

  • Selecteer eerst de werkmap in de Project-VBAProject venster in de Visual Basic redacteur.

  • Ga dan naar de Plaats tabblad en selecteer UserForm .

  • Als gevolg daarvan krijgt u de UserForm interface zoals deze.

  • Samen met dit, krijg je ook de Gereedschapskist raam.
  • Vanaf hier, sleep ListBox aan de UserForm .

  • Dan, de ListBox U kunt de grootte aanpassen door de randen van de doos te verslepen.

  • Sleep vervolgens de CommanButton twee keer naar UserForm ook om 2 knoppen te maken voor de bediening.

  • De uiteindelijke uitvoer ziet er als volgt uit.

Stap 6: Eigenschappeninstellingen wijzigen

In dit stadium zullen we enkele wijzigingen aanbrengen in de eigenschappen van elk onderdeel van de ListBox .

  • Druk in het begin op F4 op de Visual Basic editor om de Eigenschappenvenster .
  • Selecteer vervolgens de UserForm en verander de Naam en Onderschrift van het als volgt.

  • Selecteer vervolgens ListBox en verander de Naam volgens uw voorkeur.

  • Verander bovendien het type van ListStyle , MultiSelect en SpecialEffect zoals op de afbeelding hieronder.

  • Kies nu de eerste opdrachtknop en breng de volgende wijzigingen aan in de eigenschappen.

  • Bewerk daarnaast ook de eigenschappen van de tweede opdrachtknop.

Stap 7: VBA-code toepassen op UserForm

In dit stadium zullen wij VBA codes voor elk van de onderdelen van de UserForm Eens kijken hoe het werkt.

  • Selecteer eerst UserForm en ga naar de Bekijk tabblad om Code .

  • Voeg vervolgens deze code in op de lege pagina. Deze zal automatisch worden uitgevoerd wanneer de UserForm is geopend.
 Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub 

  • Ga hierna terug naar de UserForm interface door te klikken op Object op de Bekijk tab.

  • Volg nu het proces om deze code in te voegen voor de OK knop.
 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 ActiveCell If .Value "" Then .Value = ActiveCell.Value _ & strSep & strSelItems Else .Value = strSelItems End If End With Unload Me End Sub 

  • Typ daarnaast deze code voor de Sluit knop met hetzelfde proces.
 Privé Sub cmdClose_Click() Ontlaad me Einde Sub 

  • Druk tenslotte op Ctrl + S om het op te slaan en het venster te sluiten.

Met dank aan Contexten voor het helpen met de codes.

Stap 8: Multi-selecteren uit ListBox

Tenslotte hebben we met succes een ListBox Om te controleren of de code werkt of niet, doorloop je de volgende stappen.

  • Selecteer eerst Cel B5 waar we Validatie van gegevens .
  • Vlak daarna, een ListBox zal verschijnen met het bevel Item kiezen uit lijst .
  • Kies in dit venster meer dan één naam uit de lijst.

  • Druk vervolgens op OK .
  • Ten slotte hebt u met succes een meervoudige selectie gemaakt uit de ListBox en elke naam wordt gescheiden door een Komma ( , ).

Dingen om te onthouden

  • Genoemde bereiken zal geen Validatie van gegevens regel indien zij worden ingevoerd als een celverwijzing of met scheidingstekens.
  • De Globale variabele wordt toegepast voor zowel UserForm en Werkblad VBA code. Elke actieve celnaam passeert aanvankelijk de code strDVList naar een tijdelijk bereik en wordt dan gebruikt als een RowSource voor de ListBox wanneer een gebruiker de UserForm .
  • U kunt meerdere bereiken combineren in een enkele naam om de selectie te vergemakkelijken.

Conclusie

Dat is alles voor vandaag. Ik hoop dat deze lange maar eenvoudige stappen over hoe... multi select ListBox maken in excel het onderwerp een beetje makkelijker voor u hebben gemaakt. Laat ons uw feedback weten in het commentaarvak. Volg ExcelWIKI voor meer artikelen als deze.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.