Перейти к основному содержанию

Как создать динамические каскадные списки в Excel?

Возможно, вы знаете, как создать раскрывающийся список каскадной проверки в Excel. Однако как создать динамические каскадные списки в Excel? Эта статья знакомит с методом VBA, чтобы избавиться от этого.

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


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

Как показано на скриншоте ниже, вам нужно создать родительский список, содержащий уникальные значения столбца Напиток, и отобразить все соответствующие значения во втором списке на основе выбора в родительском списке. Следующий код VBA поможет вам в этом. Пожалуйста, сделайте следующее.

1. Во-первых, вам нужно извлечь все уникальные значения из столбца Напиток. Выберите пустую ячейку, введите формулу массива =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") в Панель формул, а затем нажмите Ctrl + Shift + Enter ключ. Затем перетащите Ручка заполнения чтобы получить все уникальные значения. Смотрите скриншот:

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

Функции: Если формулу слишком сложно запомнить и использовать, Выберите повторяющиеся и уникальные ячейки полезности Kutools for Excel будет хорошим выбором для быстрого извлечения всех уникальных значений из столбца.

Выберите столбец, содержащий уникальные значения, из которых вы будете извлекать данные. Затем включите утилиту, нажав Кутулс > Выберите > Выберите повторяющиеся и уникальные ячейки. В Выберите повторяющиеся и уникальные ячейки в диалоговом окне выберите Все уникальные (включая 1-е дубликаты) и нажмите OK кнопка. Затем в столбце выбираются все уникальные значения. Скопируйте и вставьте их на новое место. Смотрите скриншот:

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

2. Вставьте два списка отдельно, нажав Застройщик > Вставить > Список (элемент управления ActiveX). Смотрите скриншот:

3. Щелкните правой кнопкой мыши поле родительского списка и выберите Объекты из контекстного меню. в Объекты диалоговом окне измените (Имя) поле к Напиток или другое имя, как вам нужно, введите диапазон ячеек, содержащий извлеченные уникальные значения, в СписокЗаполнитьДиапазон поле и закройте диалог.

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 и Item - названия двух списков, измените их на свои собственные.

6. нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно.

7. Выключите режим дизайна, нажав Застройщик > Режим проектирования.

С этого момента при выборе любого напитка, например, кофе, в родительском списке все кофейные элементы будут отображаться во втором. При выборе «Чай» или «Вино» во втором списке отображаются только чай или вино. Смотрите скриншот:


Статьи по теме:

Лучшие инструменты для офисной работы

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

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 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