У меня есть столбец, который использует значения из предопределенного набора (раскрывающийся список), реализованный с использованием проверки данных . Теперь, если я изменю какое-либо значение в списке , раскрывающийся список (при его открытии) немедленно предложит это новое значение. Однако таблица сама не будет автоматически обновляться , а это означает, что некоторые значения в столбце будут недействительными, пока я не исправлю их вручную.
Я видел решения, основанные на макросах / VBA, но нет ли какого-нибудь умного способа непосредственно в интерфейсе Excel?
microsoft-excel
Борек Бернард
источник
источник
Ответы:
Как я уже упоминал в комментариях, единственный способ сделать это - использовать VBA.
Вот один из вариантов. Я добавил комментарии по всему коду. Это предполагает, что вы используете именованный диапазон для списка проверки с именем «Список» и что он находится на том же листе, что и проверяемые ячейки.
Вы также можете скачать пример электронной таблицы, которую я собрал, чтобы проверить это. (Содержит макросы!)
источник
Я думаю, что я знаю один - по крайней мере, кажется, чтобы удовлетворить все ваши запросы:
OFFSET
функции. Предполагая, что у вас есть список значений для раскрывающегося списка в столбце ASheet1
(имя имеет значение только для формулы), ячейкаA1
имеет, напримерList of values
, заголовок , а значения размещаются начинаяA2
и ниже, вы должны сделать следующее: перейти на лентуFormulas > Name Manager
, создать новый регион ( давайте назовем егоItems
) и установить его область не указывает на клетки, но используя следующую формулу вместо:=OFFSET(Sheet1!$A$2;0;0;COUNTA(Sheet1!$A:$A)-1;1)
.=Items
- таким образом, ваш именованный регион будет использоваться в качестве источника элементов списка.Я использую это решение около 2 лет в моей работе. Надеюсь, вы тоже найдете это полезным!
PS вот фактический пример файла: Dynamic Dropdown
источник