Przejdź do głównej zawartości
 

Jak utworzyć dynamiczne listy kaskadowe w programie Excel?

Autor: Silvia Ostatnia modyfikacja: 2024-08-15

Możesz wiedzieć, jak utworzyć listę rozwijaną walidacji kaskadowej w programie Excel. Jak jednak utworzyć dynamiczne listy kaskadowe w programie Excel? W tym artykule przedstawiono metodę VBA, aby ją obniżyć.

Twórz dynamiczne listy kaskadowe z kodem VBA


Twórz dynamiczne listy kaskadowe z kodem VBA

Jak pokazano na poniższym zrzucie ekranu, musisz utworzyć nadrzędne pole listy zawierające unikalne wartości kolumny Napój i wyświetlić wszystkie odpowiadające wartości w drugim polu listy na podstawie wyboru w nadrzędnym polu listy. Poniższy kod VBA pomoże Ci to osiągnąć. Wykonaj następujące czynności.

dynamiczne, kaskadowe pola list

1. Po pierwsze, musisz wyodrębnić wszystkie unikalne wartości z kolumny Napój. Wybierz pustą komórkę, wprowadź formułę tablicową =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") do Pasek formuły, a następnie naciśnij Ctrl + Shift + Wchodzę klucz. Następnie przeciągnij plik Wypełnij uchwyt aby uzyskać wszystkie unikalne wartości. Zobacz zrzut ekranu:

wypisz wszystkie unikalne wartości za pomocą formuły

Note: We wzorze $A$2:$A$11 to zakres, z którego wyodrębnisz unikalne wartości. J1 to komórka powyżej, w której znajduje się formuła.

Wskazówka: Jeśli formuła jest zbyt trudna do zapamiętania i obsługi, rozszerzenie Wybierz Zduplikowane i unikalne komórki użyteczność Kutools dla programu Excel będzie dobrym wyborem, aby szybko wyodrębnić wszystkie unikalne wartości z kolumny.

Wybierz kolumnę zawierającą unikalne wartości, z których będziesz wyodrębniać. Następnie włącz narzędzie, klikając Kutools > Wybierz > Wybierz Zduplikowane i unikalne komórki, w Wybierz Zduplikowane i unikalne komórki w oknie dialogowym wybierz opcję Wszystkie unikalne (w tym pierwsze duplikaty) opcję i kliknij przycisk OK przycisk. Następnie wszystkie unikalne wartości są wybierane w kolumnie. Skopiuj je i wklej w nowym miejscu. Zobacz zrzut ekranu:

wybierz unikalne wartości za pomocą kutools

Kutools dla programu Excel: z ponad 200 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 60 dni. Pobierz i bezpłatną wersję próbną teraz!

2. Wstaw osobno dwa pola listy, klikając Deweloper > wstawka > Pole listy (formant ActiveX). Zobacz zrzut ekranu:

kliknij List Box na karcie Deweloper

3. Kliknij prawym przyciskiem pole listy nadrzędnej i wybierz Właściwości z menu kontekstowego. w Właściwości w oknie dialogowym zmień plik (Nazwa) pole do Drink lub inną wymaganą nazwę, wprowadź zakres komórek zawierający wyodrębnione unikalne wartości do pliku ListaWypełnij Zakres i zamknij okno dialogowe.

określ opcje w panelu Właściwości

4. Powtórz krok 3, aby zmienić drugie pole listy (Nazwa) pole do pozycji w Właściwości okno dialogowe.

5. Kliknij prawym przyciskiem myszy kartę arkusza i wybierz Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy. Następnie skopiuj poniższy kod VBA do okna Code. Zobacz zrzut ekranu:

Kod VBA: Twórz dynamiczne listy kaskadowe w programie Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

Uwagi: W kodzie Napój i Przedmiot to nazwy dwóch list wartości, zmień je na własne.

kliknij Wyświetl kod, aby wkleić kod do modułu

6. wciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications okno.

7. Wyłącz tryb projektowania, klikając Deweloper > Tryb projektowania.

Odtąd, po wybraniu dowolnego rodzaju napoju, takiego jak Kawa w nadrzędnym polu listy, wszystkie elementy kawy będą wyświetlane w drugim. Wybierz opcję Herbata lub Wino, aby wyświetlić tylko elementy herbaty lub wina w drugim polu listy. Zobacz zrzut ekranu:

tworzone są dynamiczne, kaskadowe pola list



Podobne artykuły:

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!