11

Я наконец-то понял, как построить динамический каскадный набор списков в Excel, используя проверку данных и функцию INDIRECT. Тем не менее, я сталкиваюсь с проблемой.

Я хотел бы настроить свою электронную таблицу таким образом, чтобы при каждом изменении в списке проверки данных для всех последующих списков устанавливалось значение по умолчанию. Например:

Допустим, у меня есть List1, List2, List3 и List4. Значения каждого списка зависят от выбора, сделанного в списке перед ним. Когда я запускаю электронную таблицу, я хочу, чтобы все списки по умолчанию имели значение "ВСЕ". Когда пользователь выбирает значение в List1, List2 обновляется набором допустимых вариантов. Я хотел бы по умолчанию List2 для одного из этих вариантов. Однако, хотя я могу заставить List2 заполняться правильным набором опций выбора, я не могу получить желаемое значение по умолчанию, назначенное ему.

Точно так же, если пользователь делает выбор в List1, List2 и List3, затем возвращается и меняет List1, я бы хотел, чтобы List2-List4 по умолчанию вернулся к "ALL".

Как мне это сделать?

1 ответ1

1

Метод nonVBA, который я использую для этой проблемы, заключается в применении условного форматирования к последующим ячейкам, которое проверяет, соответствует ли текущее значение, которое оно содержит, значению в текущем диапазоне ссылок INDIRECT(). Если НЕТ, то ячейка становится красной или значение исчезает (соответствующий шрифт / фон), поэтому пользователь знает, что значение для этой ячейки должно быть обновлено / повторно выбрано.

Чтобы проиллюстрировать это (и метод VBA, упомянутый другими выше), здесь есть пример файла. Файл, который вы хотите, - DependentLists3.xls

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .