Установка значения по умолчанию для динамического каскадного списка проверки в Excel 2010

11

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

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

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

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

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

сойка
источник
3
Это задание для триггера VBA worksheet_change. Сейчас у меня нет времени, чтобы сообщить подробности (позже я это сделаю, если вам все еще понадобится помощь), но вам следует направить свои исследования.
Excellll
Вы, наверное, уже решили это или сдались. Я согласен с Excellll, что событие изменения рабочего листа может быть самым простым. Однако с опцией List для проверки данных источником может быть выражение, например =IF(A1="List1",C1:C5,D1:D4). Я проверил это со значением ячейки A1, выбранной из списка, и она работает так, как вы ищете.
Тони Даллимор
Вы все еще испытываете эту проблему?
Тамара Вийсман
К вашему сведению, метод nonVBA, который я использую для этой проблемы, заключается в применении условного форматирования к последующим ячейкам, которое проверяет, соответствует ли текущее значение, которое оно содержит, значению в текущем диапазоне ссылок INDIRECT (). Если НЕТ, то ячейка становится красной или значение исчезает (соответствующий шрифт / фон), поэтому пользователь знает, что значение для этой ячейки должно быть обновлено / повторно выбрано.
Джерри Бокер
Чтобы проиллюстрировать как метод VBA, так и метод CF, о котором я упоминал выше, здесь приведен пример файла DependentLists3.xls
Джерри Бокер,

Ответы:

1

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

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

Джерри Бокер
источник