Note: The other languages of the website are Google-translated. Back to English

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

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • 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:


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 kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (1)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Hi

Do czego odnosi się „ja” w kodzie i jak zmieni się kod, jeśli mam pole listy MultiSelect?

pozdrowienia
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL