Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

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

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

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

Вкладка «Office» Включите редактирование и просмотр с вкладками в Office и упростите свою работу ...
Kutools для Excel переносит расширенные функции 300 в Excel и мгновенно повышает производительность
  • Super Formula Bar (легко редактировать несколько строк текста и формул); Чтение макета (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон ...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объединить дублирующиеся строки и сумму / среднее ... Предотвратить повторяющиеся клетки; Сравнить диапазоны ...
  • Выберите Дублировать или Уникальные строки; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих книгах; Случайный выбор ...
  • Точное копирование нескольких ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставьте маркеры, флажки и многое другое ...
  • Любить и быстро вставлять формулы, диапазоны, графики и рисунки; Шифровать ячейки с помощью пароля; Создать список рассылки и отправлять электронные письма ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев ...
  • Суперфильтр (сохранение и применение схем фильтрации к другим листам); Расширенный Сортировать по месяцу / неделе / ​​дню, частоте и многому другому; Специальный фильтр жирным шрифтом, курсив ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разбить данные на несколько листов; Пакетное конвертирование xls, xlsx и PDF ...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.

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


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

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

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

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

Выберите столбец, содержащий уникальные значения, которые вы извлечете. Затем включите утилиту, нажав Kutools > Выбрать > Выбрать дубликаты и уникальные ячейки. В Выбрать дубликаты и уникальные ячейки в диалоговом окне выберите Все уникальные (включая дубликаты 1st) и нажмите 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 and Item указаны имена двух списков, измените их на собственные имена.

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

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

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


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


  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905
  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.