Перейти до основного матеріалу

Як створити динамічні каскадні списки в Excel?

Можливо, ви знаєте, як створити розкривний список каскадної перевірки в Excel. Однак як створити динамічні каскадні списки в Excel? Ця стаття представляє метод VBA для його зниження.

Створюйте динамічні каскадні списки з кодом VBA


Створюйте динамічні каскадні списки з кодом VBA

Як показано на знімку екрана нижче, вам потрібно створити батьківський вікно списку, що містить унікальні значення стовпця Drink, і відобразити всі відповідні значення у другому полі списку на основі вибору в полі батьківського списку. Наступний код VBA допомагає вам його досягти. Будь ласка, виконайте наступне.

1. По-перше, вам потрібно витягти всі унікальні значення зі стовпця Drink. Виділіть порожню комірку, введіть формулу масиву =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") в Бар Формула, а потім натисніть Ctrl + Shift + Що натомість? Створіть віртуальну версію себе у ключ. Потім перетягніть Ручка заповнення щоб отримати всі унікальні значення. Дивіться знімок екрана:

примітки: У формулі, $A$2:$A$11 - діапазон, з якого ви отримаєте унікальні значення. J1 - клітинка вгорі, де знаходиться ваша формула.

Чайові: Якщо формулу занадто важко запам'ятати та обробити, Виберіть Повторювані та унікальні комірки корисність Kutools для Excel буде гарним вибором для швидкого вилучення всіх унікальних значень зі стовпця.

Будь ласка, виберіть стовпець, що містить унікальні значення, з яких ви отримаєте. Потім увімкніть утиліту, клацнувши Кутулс > Select > Виберіть Повторювані та унікальні комірки, в Виберіть Повторювані та унікальні комірки діалоговому вікні, виберіть Усі унікальні (Включаючи 1-й дублікат) та натисніть кнопку OK кнопку. Потім у стовпці вибираються всі унікальні значення. Скопіюйте та вставте їх у нове місце. Дивіться знімок екрана:

Kutools для Excel: з більш ніж 200 зручними надбудовами Excel, спробуйте безкоштовно без обмежень протягом 60 днів. Завантажте та безкоштовно пробну версію зараз!

2. Вставте два поля списку окремо, клацнувши Розробник > Insert > Вікно списку (елемент керування ActiveX). Дивіться знімок екрана:

3. Клацніть правою кнопкою миші поле батьківського списку та виберіть властивості з контекстного меню. В властивості діалогове вікно, змініть (Ім'я) поле до напій або інше ім'я, яке вам потрібно, введіть діапазон комірок, що містить вилучені унікальні значення в ListFillRange поле та закрийте діалогове вікно.

4. Повторіть крок 3, щоб змінити друге поле списку (Ім'я) поле до елемента в властивості діалогове вікно.

5. Клацніть правою кнопкою миші вкладку аркуша та виберіть Переглянути код з меню правої кнопки миші. Потім скопіюйте код VBA у вікно коду. Дивіться знімок екрана:

Код VBA: Створіть динамічні каскадні списки в 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

примітки: У коді Drink and Item є назви двох списків, змініть їх на власні імена.

6 Натисніть кнопку інший + Q клавіші, щоб закрити Microsoft Visual Basic для додатків вікна.

7. Вимкніть режим дизайну, клацнувши Розробник > Режим дизайну.

Відтепер, при виборі будь-якого напою, такого як Кава, у полі батьківського списку всі предмети кави відображатимуться у другому. Виберіть "Чай або вино" відображатиме лише елементи чаю чи вина у другому полі списку. Дивіться знімок екрана:


Статті по темі:

Найкращі інструменти продуктивності офісу

🤖 Kutools AI Aide: Революціонізуйте аналіз даних на основі: Інтелектуальне виконання   |  Згенерувати код  |  Створення спеціальних формул  |  Аналізуйте дані та створюйте діаграми  |  Викликати функції Kutools...
Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

Опис


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi

What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations