Как создать динамические каскадные списки в 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. Выключите режим дизайна, нажав Застройщик > Режим проектирования.
С этого момента при выборе любого напитка, например, кофе, в родительском списке все кофейные элементы будут отображаться во втором. При выборе «Чай» или «Вино» во втором списке отображаются только чай или вино. Смотрите скриншот:
Статьи по теме:
- Как очистить зависимую ячейку раскрывающегося списка после изменения выбора в Excel?
- Как создать зависимые каскадные выпадающие списки в Excel?
- Как автоматически заполнять другие ячейки при выборе значений в раскрывающемся списке Excel?
- Как создать календарь с выпадающим списком в Excel?
- HКак сохранить или сохранить выбранные списки ActiveX в Excel?
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!