Jak utworzyć listę rozwijaną w Excelu z wieloma wyborami

  • Udostępnij To
Hugh West

Do tej pory patrzyliśmy na jak tworzyć listy rozwijane w Excelu. Dzisiaj pokażę jak utworzyć listę rozwijaną z wieloma selekcjami w programie Excel .

Pobierz Zeszyt ćwiczeń

Zeszyt ćwiczeń można pobrać stąd.

Tworzenie listy rozwijanej z wielokrotnym wyborem.xlsm

Procedury krok po kroku do tworzenia listy rozwijanej w Excelu z wieloma wyborami

Mamy tu zbiór danych z kolumną Nazwa książki Naszym dzisiejszym celem jest stworzenie na podstawie tego zbioru danych listy rozwijanej, która przyjmuje wiele wyborów. W poniższej sekcji pokażę krok po kroku procedury.

KROK 1: Utwórz listę rozwijaną przy użyciu walidacji danych

Aby utworzyć listę rozwijaną z wieloma selekcjami, musimy najpierw stworzyć listę rozwijaną. Przejdźmy przez procedury.

  • Najpierw wybierz komórkę, w której chcesz utworzyć listę rozwijaną.Ja wybrałem Komórka D5 .

  • Następnie należy przejść do Dane zakładka i wybrać Walidacja danych ze wstążki.

  • Następnie, z Walidacja danych okno, wybierz Wykaz w Pozwól i wpisać komórki zakresu, których dane chcemy dodać do listy w sekcji Źródło pole.
  • Alternatywnie można kliknąć małą strzałkę w górę w Źródło sekcji i wybrać zakres danych z arkusza.

  • Na koniec zobaczymy listę rozwijaną utworzoną w Komórka D5 .

Podobne Lektury:

  • Jak stworzyć listę rozwijaną w Excelu (niezależną i zależną)
  • Dokonaj wielokrotnego wyboru z listy rozwijanej w Excelu (3 sposoby)
  • Jak stworzyć zależną listę rozwijaną w Excelu
  • Utwórz listę rozwijaną w wielu kolumnach w Excelu (3 sposoby)

KROK 2: Włączenie listy rozwijanej, aby akceptowała wielokrotny wybór przez kod VBA

Mamy już utworzoną listę rozwijaną, teraz czas na przygotowanie listy rozwijanej do wielokrotnego wyboru.Wykorzystam 2 VBA kody umożliwiające liście przyjęcie wielokrotnego wyboru. Jeden przyjmie powtórzenie danych, a drugi nie przyjmie powtórzenia danych.

Przypadek 1: Kod VBA dla wielokrotnego wyboru z powtórzeniami

W tym rozdziale pokażę sposób na stworzenie listy rozwijanej z wieloma selekcjami, która będzie przyjmowała powtórzenie danych.

Przejdźmy przez procedury.

  • Najpierw należy nacisnąć ALT + F11 aby otworzyć VBA okno.
  • Następnie należy wybrać Projekt Eksplorator . także, podwójny - kliknij na arkuszu, na którym ma być wykonane zadanie.

  • Równocześnie, a Kod otworzy się okno.
  • Następnie w tym oknie napisz następujący kod.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" Then.Target.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub 

Uwaga: W części kodowej (. Jeśli Target.Address = "$D$5" Następnie ) zamiast odwołania do komórki $D$5, wpisujesz odwołanie do komórki, w której utworzyłeś listę rozwijaną.

  • Na koniec wróć do arkusza i będziemy mogli wybrać wiele elementów na liście rozwijanej z powtórzeniem tego samego elementu.

Przypadek 2: Kod VBA dla wielokrotnego wyboru bez powtórzeń

W tym rozdziale pokażę sposób na stworzenie listy rozwijanej z wielokrotnym wyborem, która nie będzie przyjmowała powtórzenia danych.

Przejdźmy przez procedury.

  • Najpierw należy nacisnąć ALT + F11 aby otworzyć VBA okno.
  • Następnie należy wybrać Projekt Eksplorator . także, podwójny - kliknij na arkuszu, na którym ma być wykonane zadanie.

  • Równocześnie, a Kod pojawi się okno.
  • Następnie w tym oknie wpisz następujący kod.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue =.Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & ", " & Newvalue Else: Target.Value = Oldvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub 

Uwaga: W części kodowej (. Jeśli Target.Address = "$D$5" Następnie ) zamiast odwołania do komórki $D$5, wpisujesz odwołanie do komórki, w której utworzyłeś listę rozwijaną.

  • Na koniec wróć do arkusza i będziemy mogli wybrać wiele elementów na liście rozwijanej bez powtórzenia tego samego elementu.

Wniosek

Korzystając z tej metody, można utworzyć listę rozwijaną w programie Excel z wieloma wyborami. Czy masz jakieś pytania? Daj nam znać w sekcji komentarzy. Odwiedź nasz Strona internetowa ExcelWIKI więcej artykułów dotyczących Excel .

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ł.