Spis treści
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.xlsmProcedury 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 .