Jak stworzyć Multi Select ListBox w Excelu (z łatwymi krokami)

  • Udostępnij To
Hugh West

Kiedy pracujemy na dużym zbiorze danych, często trudno jest pobrać z niego jakąś selektywną wartość. Ponadto nie można wybrać więcej niż wielu informacji jednocześnie.W tym przypadku, ListBox jest bardzo pomocnym rozwiązaniem w Excel Ale proces tworzenia tego ListBox Dlatego w tym artykule dowiemy się, jak stworzyć multi-selekcję ListBox w excelu za pomocą kilku prostych kroków.

Pobierz Zeszyt ćwiczeń

Pobierz przykładowy plik do ćwiczenia.

Multi Select ListBox.xlsm

Procedury krok po kroku do tworzenia Multi Select ListBox w Excelu

Aby ułatwić ten proces, podzieliliśmy go na 8 Tak więc, bez dalszej zwłoki, przejdźmy do poniższych kroków, aby zobaczyć, jak możemy stworzyć multi-selekcję ListBox w Excelu.

Krok 1: Tworzenie tabeli Excela z zestawu danych

Na początku musimy przygotować przykładowy zbiór danych i przekonwertować go na tabelę. Aby to zrobić, wykonaj poniższe kroki.

  • Najpierw utwórz zbiór danych zawierający informacje o. 10 Nazwy miast i ich Ludność ogółem z USA do 1, lipiec w Zakres komórek B5:C14 .

  • Teraz należy kliknąć na dowolną komórkę zbioru danych i wybrać Tabela od Wkładka tab.

  • Wtedy zobaczysz Utwórz tabelę okno, które automatycznie wybiera zakres komórek do utworzenia tabeli.
  • W tym oknie należy zaznaczyć Moja tabela ma nagłówki pole i naciśnij OK .

  • W rezultacie zobaczysz, że zbiór danych jest konwertowany na tabelę.

  • Wraz z nim można znaleźć tabelę w. Nazwa tabeli pole pod Projekt tabeli zakładka

  • Możesz zmienić nazwę tabeli zgodnie ze swoimi preferencjami.

Czytaj więcej: Jak stworzyć zależną listę rozwijaną w Excelu

Krok 2: Nazwij listę zbiorów danych z Name Manager

Teraz nazwiemy każdą kategorię zakresu komórek z tabeli, w tym celu przejdź przez kroki.

  • Najpierw należy wybrać dowolną komórkę z Kolumna B w tabeli.
  • Następnie przejdź do Formuły zakładka i wybrać Określenie nazwy .

  • Po tym, zobaczysz Nowa nazwa okno dialogowe.
  • W tym oknie dialogowym podaj dowolną nazwę zgodnie z wybranym nagłówkiem kolumny w Nazwa pudełko.

  • Następnie należy kliknąć na Dotyczy w tym samym oknie.
  • Następnie umieść kursor nad nagłówkiem, a pokaże się czarna strzałka.
  • Następnie kliknij lewym przyciskiem myszy, aby wybrać Zakres komórek B5:B14 .

  • W rezultacie zobaczysz listę nazw wraz z nazwą tabeli w Dotyczy pole i naciśnij OK .

  • Postępuj w ten sam sposób, dla Zakres komórek C5:C14 również.
  • Na koniec zobaczysz nazwy w Nazwa Pole w lewym górnym rogu skoroszytu.

Krok 3: Utwórz listę rozwijaną z walidacją danych

Na tym etapie utworzymy listę rozwijaną z nazwanych zakresów z walidacją danych.Jest to zasadnicza część tworzenia ListBox Utworzymy to w innym arkuszu w skoroszycie, ale można to zrobić również w tym samym arkuszu. Zobaczmy proces poniżej.

  • Na początku wybierz kilka komórek z tabeli, w których chcesz zastosować Walidacja danych .
  • Następnie przejdź do Dane zakładka i wybrać Walidacja danych w Narzędzia danych sekcja.

  • Następnie, w Ustawienia zakładka, wybierz Wykaz w Pozwól pudełko.

  • Ponadto, Mark sprawdził Zignoruj puste miejsce oraz Rozwijanie w komórce skrzynie.

  • Następnie należy kliknąć na Źródło F3 na swojej klawiaturze.
  • W rezultacie zobaczysz Nazwa pasty okno dialogowe z listą nazw.
  • Tutaj należy wybrać CityNames z listy i naciśnij OK .

  • Wtedy zobaczysz, że w polu źródła pojawi się nazwa pierwszej listy.

  • Na koniec naciśnij OK i zastosuj ten sam proces dla drugiej listy nazwisk.
  • W końcu zobaczysz, że Walidacja danych jest aktywowana na wybranych komórkach.

Krok 4: Wstaw kod VBA do zatwierdzonego arkusza

Teraz nadchodzi kluczowa część wstawiania VBA kod, aby stworzyć ListBox . Following is the process for this.

  • Najpierw kliknij prawym przyciskiem myszy na zatwierdzonym arkuszu i wybierz Wyświetl kod od Menu kontekstowe .

  • Następnie wstaw na stronę ten kod.
 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 exitHandler: Application.EnableEvents = True End Sub 

  • Następnie należy przejść do Wkładka zakładka i wybrać Moduł .
  • W tym momencie nazwa skoroszytu musi być wybrana w Przedmiot projektu okno.

  • Następnie zmień nazwę modułu na modSettings i wstawić ten kod.
 Option Explicit Global strDVList As String 

Dzięki Konteksty za udostępnienie kodów.

Krok 5: Utwórz formularz użytkownika z listbox & Buttons

Na tym etapie utworzymy UserForm dla skoroszytu wraz z ListBox i trochę Przyciski poleceń W tym celu należy wykonać poniższą procedurę.

  • Najpierw należy wybrać skoroszyt w Projekt-VBAProjekt okno w Visual Basic red.

  • Następnie przejdź do Wkładka zakładka i wybrać UserForm .

  • W rezultacie otrzymasz. UserForm interfejs jak to.

  • Wraz z tym, otrzymasz również Skrzynka narzędziowa okno.
  • Stąd przeciągnij ListBox do UserForm .

  • Następnie. ListBox Możesz dostosować rozmiar przeciągając krawędzie pudełka.

  • Następnie przeciągnij CommanButton dwukrotnie do UserForm jak również do stworzenia 2 przycisków do obsługi.

  • Wreszcie, ostateczne wyjście wygląda tak.

Krok 6: Zmiana ustawień właściwości

W tym etapie dokonamy kilku zmian we właściwościach każdego z komponentów ListBox .

  • Na początku naciśnij F4 na Visual Basic edytor, aby otworzyć Okno właściwości .
  • Następnie należy wybrać UserForm i zmienić Nazwa oraz Caption w ten sposób.

  • Następnie należy wybrać ListBox i zmienić Nazwa zgodnie z Twoimi preferencjami.

  • Dodatkowo należy zmienić typ ListStyle , MultiSelect oraz SpecialEffect zgodnie z poniższym obrazkiem.

  • Teraz wybierz pierwszy przycisk polecenia i wprowadź następujące zmiany we właściwościach.

  • Oprócz tego edytuj również właściwości drugiego przycisku polecenia.

Krok 7: Zastosuj kod VBA do formularza użytkownika

Na tym etapie zastosujemy VBA kody do każdego z elementów składowych UserForm Zobaczmy, jak to działa.

  • Najpierw należy wybrać UserForm i udać się do Zobacz zakładka, aby wybrać Kod .

  • Następnie wstaw ten kod na pustą stronę. Będzie on automatycznie uruchamiany, gdy UserForm jest otwarty.
 Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub 

  • Po tym, wróć do UserForm klikając na Obiekt na Zobacz tab.

  • Teraz postępuj zgodnie z procesem, aby wstawić ten kod dla OK przycisk.
 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. 

  • Wraz z tym, wpisz ten kod dla Zamknij z wykorzystaniem tego samego procesu.
 Private Sub cmdClose_Click() Unload Me End Sub 

  • Na koniec naciśnij Ctrl + S aby go zapisać i zamknąć okno.

Dzięki Konteksty za pomoc z kodami.

Krok 8: Multi Select z ListBox

W końcu udało nam się stworzyć ListBox Aby sprawdzić, czy kod działa, czy nie, wystarczy przejść przez następujące kroki.

  • Najpierw należy wybrać Komórka B5 gdzie zastosowaliśmy Walidacja danych .
  • Zaraz po tym ListBox pojawi się rozkaz Wybierz pozycję z listy .
  • W tym oknie wybierz więcej niż jedną nazwę z listy.

  • Następnie naciśnij OK .
  • Wreszcie, udało się wybrać wiele opcji z ListBox a każda nazwa jest oddzielona znakiem Przecinek ( , ).

Rzeczy do zapamiętania

  • Nazwane zakresy nie stworzy Walidacja danych reguła, jeśli są one wprowadzone jako odwołania do komórek lub z ogranicznikami.
  • Na stronie Zmienna globalna jest stosowany zarówno dla UserForm oraz Arkusz roboczy VBA Każda aktywna nazwa komórki początkowo przekazuje kod strDVList do tymczasowego zakresu, a następnie jest używany jako RowSource dla ListBox gdy użytkownik otworzy UserForm .
  • Możesz połączyć wiele zakresów w jednej nazwie dla ułatwienia wyboru.

Wniosek

To wszystko na dziś, mam nadzieję, że te długie, ale proste kroki jak utwórz ListBox z możliwością wielokrotnego wyboru w excelu nieco ułatwiły Ci temat.Daj nam znać o swoich opiniach w polu komentarza.Śledź ExcelWIKI po więcej artykułów takich jak ten.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.