Выбор фото из выпадающего списка
Постановка задачи
Необходимо сделать так, чтобы в одной из ячеек листа был выпадающий список с наименованиями, при выборе из которого, товар отображался бы рядом в виде фотографии:
Видео
Шаг 1. Создаем каталог с фото и даем ему имя
Создаем на Листе 1 мы каталог с наименованиями и фотографиями товаров, состоящий из двух столбцов (Модель и Фото):
Теперь надо дать имя нашему каталогу, чтобы ссылаться на него в будущем. В Excel 2003 и старше для этого идем в меню Вставка - Имя - Присвоить (Insert - Name - Define), а в Excel 2007 и новее - жмем на кнопку Диспетчер имен (Name Manager) на вкладке Формулы (Formulas). Создаем диапазон - вводим имя (например Фотоальбом) и в качестве адреса указываем формулу:
=СМЕЩ(Лист1!$A$1;1;0;СЧЁТЗ(Лист1!$A:$A)-1;1)
=OFFSET(Лист1!$A$1;1;0;COUNTA(Лист1!$A:$A)-1;1)
Эта формула определяет последнюю занятую ячейку в столбце А и выдает на выходе диапазон с А2 до этой найденной ячейки. Такая относительно сложная конструкция нужна, чтобы впоследствии дописывать новые модели к нашему списку и не думать об исправлении диапазона. Если дописывать точно ничего не придется, то можете вместо ввода этой страшноватой формулы просто указать =A2:A5
Шаг 2. Выпадающий список для выбора модели
Перейдем на Лист 2 и создадим там ячейку с выпадающим списком для выбора пользователем модели телефона (пусть это будет A1). Выделяем ячейку и идем в меню Данные - Проверка (Data - Validation) или в новых версиях Excel - на вкладку Данные - Проверка данных (Data - Data Validation). Далее в поле Тип данных (Allow) выбираем Список (List), а в качестве Источника (Source) указываем наш Фотоальбом (не забудьте перед ним добавить знак равенства):
Кроме того этой ячейке удобно дать имя - снова меню Вставка - Имя - Присвоить и далее вводим имя (например Выбор) и ОК.
Шаг 3. Копируем фотографию
Перенесем первую фотографию из фотоальбома к выпадающему списку. Выделите ячейку с первой фотографией (не сам рисунок, а ячейку!) и
в Excel 2003 и старше - удерживая Shift, откройте меню Правка (Edit). Там должен появиться невидимый ранее пункт Копировать рисунок (Copy as Picture):
В Excel 2007 и новее можно просто развернуть выпадающий список под кнопкой Копировать (Copy) на Главной (Home) вкладке:
В Excel 2010 появится еще одно дополнительное окно с выбором типа создаваемого изображения:
В нем нужно выбрать варианты "как на экране" и "растровый".
Копируем, переходим на Лист 2 к выпадающему списку и в любую пустую ячейку недалеко от него вставляем наш мини-скриншот ячейки с фотографией (меню Правка - Вставить или обычное CTRL+V).
Шаг 4. Создаем динамическую ссылку на выбранную фотографию
Теперь необходимо сделать ссылку, которая будет указывать на ячейку с выбранной фотографией. Открываем меню Вставка - Имя - Присвоить (Insert - Name - Define) или Диспетчер имен (Name Manager) на вкладке Формулы (Formulas) и создаем еще один именованный диапазон:
Имя нашей ссылки, допустим, будет Фото, а формула
=СМЕЩ(Лист1!$B$2;ПОИСКПОЗ(Выбор;Фотоальбом;0)-1;0;1;1)
=OFFSET(Лист1!$B$2;MATCH(Выбор;Фотоальбом;0)-1;0;1;1)
Технически, функция ПОИСКПОЗ (MATCH) находит ячейку с нужной моделью в каталоге по названию, а функция СМЕЩ (OFFSET) затем выдает ссылку на соседнюю справа от найденного названия ячейку, т.е. ячейку с фотографией товара.
Шаг 5. Привязываем фотографию к ссылке
Осталось выделить скопированную фотографию на Листе 2 и вписать в строку формул
=Фото
и нажать Enter
Все! :)
Ссылки по теме
- Создание выпадающего списка в ячейках листа
- Создание зависимых выпадающих списков
- Автоматическое создание выпадающих списков при помощи инструментов надстройки PLEX
- Выпадающий список с автоматическим удалением уже использованных элементов
- Выпадающий список с автоматическим добавлением недостающих элементов
А как может быть решение у следующей задачи(приведу значения по примеру данной статьи):
Имеется тот же список, что и в пункте шаг 1. Как можно сделать нижеприведенную таблицу?
Возможно ли создать таблицу с выпадающим списком, а напротив каждой ячейки со списком - фотография?
Спасибо заранее за ответ)
Ещё один хороший вариант -
Также можно просто вставить примечание к ячейке - формат примечания - заливка - способы заливки - рисунок.
Но это уже не соответствует теме "Выбор фото из выпадающего списка".
Изображение из ячейки вставляется через Вставить => Как рисунок => Копировать как рисунок... Но ему нельзя присвоить =Фото, строка формул не активна при выбранном изображении.
Николай, помогите пожалуйста!
а именно про написание вот этой строчки
=СМЕЩ(Лист1!$B$2;ПОИСКПОЗ(Выбор;Фотоальбом;0)-1;0;1;1)
и тогда все будет хорошо
Автору огромное спасибо за шикарные уроки!!!
Вопрос ? Почему-то с формулами =OFFSET(Лист1!$A$1;1;0;COUNTA(Лист1!$A:$A)-1;1) и =OFFSET(Лист1!$B$2;MATCH(Выбор;Фотоальбом;0)-1;0;1;1) выбор фото не работает .В чем причина? Заранее спасибо.
1)Выделяем ячейку с картинкой.(не картинку, а ячейку!)
2) Копируем ячейку с помощью команды "КОПИРОВАТЬ".
3) Выделяем нужную ячейку.
4)Заходим во вкладку"ВСТАВИТЬ".
5)В раскрывающемся списке выбираем "КАК РИСУНОК" и выбираем команду "ВСТАВИТЬ СВЯЗЬ С РИСУНКОМ".
Проверил все работает.
можно ли сделать выпадающий список например из 30 строчек?
Вопрос такой. Почему, когда я запустил "Фото на выбор" у меня макросы стали выполняться очень медленно?
Удалил всё из диспетчера имён, всё стало нормально. Хотелось бы, чтобы всё работало.
Помогите решить проблему завершающего шага.
Выделил картинку, а в строке формул написать "= Фото" не возможно. При выделенной картинке - строка не работает
что автофильтр при его применении скрывает строки, но не вставленные в них картинки.
как сделать, чтобы в оставшихся строках оставались только нужные картинки,
а не все какие были на листе? (2010)
аналогичная проблема и с группировкой - при свертывании группы картинка остается на месте.
пробовал вставлять как вектор, не помогает
Но я считаю excel не лучшее место для хранения фото.
Можно ли сделать, что-то подобное но с подтягиванием фото из каталога (папки) формата "C:\Users\Admin\Desktop\Фото"? Пускай и средствами VBA .
Например: Имена файлов вытягиваются в массив, которые далее используются для выпадающего списка. Ну и в другой ячейке само фото.
Думаю это было бы очень интересно, как для изучения конкретной темы, так и для VBA в целом.
Проблема сохранения и/или создания исторической базы данных телефонных контактов.
Nokia Suite и её последователи позволяли скидывать контакты из телефона в ПК разные форматы в том числе *.xls*
Хорошо бы создать подобную программу для Android/ iOS
Они предлагают нам сохранение контактов только в облако.
Спасибо!