Picture in cell comment

Хотите использовать фотографию или рисунок в качестве примечания к ячейке? Например, вот так:

Picture in cell comment

Это может быть удобно при создании списков людей с их фотографиями, прайс-листов с изображениями товаров и т.п.

Способ 1. Одиночная вставка

  1. Щелкните по ячейке, в которую будем вставлять примечание правой кнопкой мыши и выберите в контекстном меню Добавить примечание (Add comment).
  2. Чтобы примечание во время настройки постоянно не пропадало, щелкните по ячейке правой кнопкой мыши и выберите команду Отобразить/Скрыть примечание (Show/Hide Comment).
  3. Щелкните правой кнопкой мыши по штрихованной рамке вокруг примечания (штриховка при этом должна превратиться в точки) и выберите в контекстном меню команду Формат примечания (Format Comment).
  4. В открывшемся окне перейдите на вкладку Colors and lines (Colors and Lines) и из раскрывающегося списка Color (Colour) select an option Fill Methods (Fill Effects):

    Picture in cell comment

  5. In the window that appears, go to the tab Drawing (Picture) и, щелкнув по кнопке Drawing (Select Picture), выберите нужный файл с изображением. Дополнительно можно установить флажок Сохранять пропорции рисунка (Lock picture aspect ratio).
  6. Click OK во всех окнах и, возможно, немного подгоняем размеры примечания, чтобы картинку было хорошо видно.

Способ 2. Вставка оптом

Как видно из первого способа, вставка одной картинки в одно примечание — процедура хоть и не сложная технически, но не очень-то быстрая. Поэтому для вставки картинок в массовых масштабах (например, изображений товаров в прайс) лучше использовать простой макрос. В качестве исходных данных примем, что у нас есть:

  • список наименований товаров в прайс-листе, к ячейкам которых мы и хотим добавить примечания
  • список путей к файлам изображений этих товаров (его можно, кстати, формировать тоже автоматически с помощью вот такого макроса).

Выглядит все это, допустим, так:

Picture in cell comment

Откройте редактор 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). Результат будет примерно такой:

Picture in cell comment

Beauty!

PS

  • Вставленные в примечания картинки и фотографии будут неизбежно утяжелять файл. При большом количестве изображений имеет смысл их заранее обработать (сжать до нужных размеров, оптимизировать цветовую гамму и разрешение) с помощью специальных программ.
  • Отобразить или скрыть сразу все примечания можно на вкладке Рецензирование — Показать все примечания (Review — Show all comments).
  • Удалить все примечания из выделенных ячеек можно на вкладке Главная — Очистить — Примечания (Home — Clear — Comments).

  • What are macros, how to use them, where to insert macro code in VBA

 

Leave a Reply