Jak utworzyć dynamiczne listy kaskadowe w programie Excel?
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
- Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
- Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
- Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
- Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
- Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
- Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtruj pogrubieniem, formułami, komentarzem ...
- Ponad 300 zaawansowanych funkcji; Współpracuje z Office 2007-2021 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.
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.
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 + przesunięcie + Wchodzę klucz. Następnie przeciągnij plik Wypełnij uchwyt aby uzyskać wszystkie unikalne wartości. Zobacz zrzut ekranu:
Uwagi: 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:
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:
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.
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.
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:
Podobne artykuły:
- Jak wyczyścić zależną komórkę listy rozwijanej po wybraniu zmiany w programie Excel?
- Jak utworzyć zależne listy rozwijane kaskadowe w programie Excel?
- Jak automatycznie wypełnić inne komórki podczas wybierania wartości na liście rozwijanej programu Excel?
- Jak utworzyć rozwijany kalendarz listy w programie Excel?
- How, aby zapisać lub zachować zaznaczenia pól list ActiveX w programie Excel?
Najlepsze narzędzia biurowe
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
- Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
- Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
- Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
- Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
- Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
- Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
- Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
- Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
- Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.

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!
