суббота, 9 февраля 2013 г.

выпадающий список с выбором нескольких позиций excel

Щелкаем правой кнопкой мыши по ярлычку нашего листа и выбираем Исходный текст (View Source). Откроется модуль листа в редакторе Visual Basic, куда надо скопировать такой код:

Шаг 3. Добавляем простой макрос

Чтобы Excel позволил нам в будущем ввести в список и новые имена, снимем галочки на вкладках Сообщение для ввода (Input Message) и Сообщение об ошибке (Error Alert) и нажмем ОК. Теперь у нас есть выпадающий список в ячейке D2. Причем, если, например, вручную дописать новое имя в столбце А, то оно автоматически появится в выпадающем списке в ячейке D2, поскольку имена берутся из динамического диапазона People, который автоматически отслеживает изменения в столбце А.

Далее выбираем из выпадающего списка Тип данных (Allow) позицию Список (List) и вводим в строку Источник (Source) ссылку на созданный на шаге 1 именованный диапазон (не забудьте перед именем диапазона поставить знак равенства!):

в Excel 2003 и старше - выбираем в меню Данные - Проверка (Data - Validation).

в Excel 2007 и новее - жмем на вкладке Данные (Data) кнопку Проверка данных (Data Validation) 

Выделяем ячейку D2 и

Шаг 2. Создаем выпадающий список в ячейке

Эта формула ссылается на все заполненные ячейки в столбце А, начиная с А1 и вниз до конца - до последнего имени.

=OFFSET(Лист1!$A$1,0,0,COUNTA(Лист1!$A$1:$A$24),1)

в английской версии Excel это будет:

=СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A$1:$A$24);1)

Затем вводим имя диапазона (допустим People) и в строку Ссылка (Reference) вводим следующую формулу:

в Excel 2003 идем в меню Вставка - Имя - Присвоить (Insert - Name - Define)

в Excel 2007 и новее - жмем на вкладке Формулы (Formulas) кнопку Диспетчер имен (Name Manager) и затем Создать (New)

Сначала создадим именованный диапазон, указывающий на заполненные именами ячейки в столбце А - сколько бы имен в списке не находилось. Для этого:

Шаг 1. Создаем именованный диапазон

Задача: сделать в ячейке D2 выпадающий список, чтобы пользователь мог выбирать имена из списка (столбец А). Если нужного имени нет в списке, то пользователь может ввести новое имя прямо в ячейку D2 - оно автоматически добавится к столбцу А и начнет отображаться в выпадающем списке в будущем. Вот так примерно:

Выпадающий список с добавлением новых элементов

Выпадающий список с добавлением новых элементов

Комментариев нет:

Отправить комментарий