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
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 + Shift + Wchodzę klucz. Następnie przeciągnij plik Wypełnij uchwyt aby uzyskać wszystkie unikalne wartości. Zobacz zrzut ekranu:
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:
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
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!