Хотите использовать фотографию или рисунок в качестве примечания к ячейке? Например, вот так:
Это может быть удобно при создании списков людей с их фотографиями, прайс-листов с изображениями товаров и т.п.
Способ 1. Одиночная вставка
- Щелкните по ячейке, в которую будем вставлять примечание правой кнопкой мыши и выберите в контекстном меню Добавить примечание (Add comment).
- Чтобы примечание во время настройки постоянно не пропадало, щелкните по ячейке правой кнопкой мыши и выберите команду Отобразить/Скрыть примечание (Show/Hide Comment).
- Щелкните правой кнопкой мыши по штрихованной рамке вокруг примечания (штриховка при этом должна превратиться в точки) и выберите в контекстном меню команду Формат примечания (Format Comment).
- В открывшемся окне перейдите на вкладку Colors and lines (Colors and Lines) и из раскрывающегося списка Color (Colour) select an option Fill Methods (Fill Effects):
- In the window that appears, go to the tab Drawing (Picture) и, щелкнув по кнопке Drawing (Select Picture), выберите нужный файл с изображением. Дополнительно можно установить флажок Сохранять пропорции рисунка (Lock picture aspect ratio).
- Click OK во всех окнах и, возможно, немного подгоняем размеры примечания, чтобы картинку было хорошо видно.
Способ 2. Вставка оптом
Как видно из первого способа, вставка одной картинки в одно примечание — процедура хоть и не сложная технически, но не очень-то быстрая. Поэтому для вставки картинок в массовых масштабах (например, изображений товаров в прайс) лучше использовать простой макрос. В качестве исходных данных примем, что у нас есть:
- список наименований товаров в прайс-листе, к ячейкам которых мы и хотим добавить примечания
- список путей к файлам изображений этих товаров (его можно, кстати, формировать тоже автоматически с помощью вот такого макроса).
Выглядит все это, допустим, так:
Откройте редактор Visual Basic (сочетание клавиш Alt + F11), insert a new empty module (menu Insert – Module) and copy the text of this macro there:
Sub InsertPicturesInComments() Dim rngPics As Range, rngOut As Range Dim i As Long, p As String, w As Long, h As Long Set rngPics = Range("B1:B5") 'диапазон путей к картинкам Set rngOut = Range("A1:A5") 'диапазон вывода примечаний rngOut.ClearComments 'удаляем старые примечания 'проходим в цикле по ячейкам For i = 1 To rngPics.Cells.Count p = rngPics.Cells(i, 1).Value 'считываем путь к файлу картинки w = LoadPicture(p).Width 'и ее размеры h = LoadPicture(p).Height With rngOut.Cells(i, 1) .AddComment.Text Text:="" 'создаем примечание без текста .Comment.Visible = True .Comment.Shape.Select True End With With rngOut.Cells(i, 1).Comment.Shape 'заливаем картинкой .Fill.UserPicture p .ScaleWidth 1, msoFalse, msoScaleFromTopLeft .ScaleHeight h / w * 1.8, msoFalse, msoScaleFromTopLeft 'корректируем размеры End With Next i End Sub
Диапазоны rngPics и rngOut можно, естественно, заменить на свои.
Теперь осталось открыть окно управления макросами (Alt + F8) и запустить наш созданный макрос кнопкой Run (run). Результат будет примерно такой:
Beauty!
PS
- Вставленные в примечания картинки и фотографии будут неизбежно утяжелять файл. При большом количестве изображений имеет смысл их заранее обработать (сжать до нужных размеров, оптимизировать цветовую гамму и разрешение) с помощью специальных программ.
- Отобразить или скрыть сразу все примечания можно на вкладке Рецензирование — Показать все примечания (Review — Show all comments).
- Удалить все примечания из выделенных ячеек можно на вкладке Главная — Очистить — Примечания (Home — Clear — Comments).
- What are macros, how to use them, where to insert macro code in VBA