Как закрепить картинку в ячейке excel

Вставка картинки в Excel и способы закрепления изображения в ячейке

При работе с Excel можно использовать не только числовые или текстовые данные, но и картинки. Это можно сделать, привязав их к определённому месту листа, или поместив в отдельную ячейку. Для того, чтобы правильно вставить и расположить картинку в электронной таблицы Эксель, можно воспользоваться несколькими способами.

Как вставить картинку на лист

Если скопировать картинку и вставить её в электронную таблицу Эксель, она просто займёт определённое место на листе. Если после этого изменять размеры ячеек, удалять или добавлять новые, то картинка останется на прежнем месте. Несмотря на то, что клетки под ней сдвинутся.

Для того чтобы правильно вставить фото в Excel, нужно учесть следующее:

  1. Картинка на странице будет смотреться лучше, если она целиком расположена внутри ячейки. Для этого нужно придать клеточке нужные размеры и форму.
  2. В дальнейшем возможны ситуации, когда содержимое электронной таблицы будет корректироваться. Это может привести к тому, что ячейки, расположенные под картинкой сдвинутся. Удобно, если расположение изображения привязано к определённой клеточке. Тогда при корректировке страницы ее расположение останется правильным.

Последнее свойство будет полезно, например, в том случае, если на листе проведена сортировка строк.

При соблюдении этих двух условий картинки, вставленные в документ, станут информативной и красивой его частью.

Вставка в ячейку

Перед тем, как вставить картинку в Excel в ячейку, нужно подготовить изображение. Оно должно находиться на компьютере, откуда его можно будет загрузить в электронный документ.

Перед тем, как вставить рисунок в ячейку, нужно запустить Excel. Затем выбрать клеточку, которая находится в том месте, куда нужно поместить рисунок. Во вкладке «Вставка» необходимо нажать на кнопку «Рисунок». После этого откроется экран для выбора нужного файла. Нужно отыскать каталог, где хранится изображение и указать на него. После подтверждения можно увидеть картинку, размещённую на странице Excel в нужном месте.

Прикрепление изображения

Если просто вставить картинку, то она не будет перемещаться в тех случаях, когда расположение ячеек будет меняться. В некоторых случаях этого желательно избежать. Например, если на странице приведён список сотрудников фирмы, а напротив вставлены их фотографии, то удобно, когда в результате сортировки расположение данных сохранится.

Такую привязку картинки к ячейке в Excel можно сделать с использованием нескольких способов, которые будут рассмотрены далее.

Защита листа

Для этого нужно сделать следующее:

  1. Нужно расширить границы ячейки и изменить величину рисунка таким образом, чтобы изображение поместилось внутрь клеточки.
  2. Надо кликнуть правой кнопкой мышки по рисунку и в контекстном меню выбрать строку «Размер и свойства».
  3. В левой части открывшегося окна находим перечень вкладок. Необходимо перейти на «Размер».
  4. Необходимо удостовериться в том, что рисунок целиком помещается внутри ячейки. В двух имеющихся чек-боксах («Относительно размера» и «Сохранить пропорции») должны стоять галочки.
  5. Далее необходимо перейти на вкладку «Свойства». В верхнем переключателе выбирают строку, соответствующую тому, что объект будет перемещаться вместе с соответствующими клеточками. Отмечают оба чек-бокса («Защищаемый объект» и «Выводить на печать»).
  6. Теперь необходимо выделить всю страницу. Это делают при помощи нажатия комбинации клавиш «Ctrl+A». Затем переходят к форматированию ячейки. Для этого необходимо кликнуть на ней правой клавишей мыши.
  7. Необходимо выбрать клеточку, в которой расположено изображение. На вкладке «Защита» надо отметить строку, где идёт речь о защите ячеек.
  8. Теперь в главном меню во вкладке «Рецензирование» нужно выбрать строку «Защита листа». На открывшемся экране требуется ввести пароль для разблокировки, и подтвердить ввод.

Важно учитывать, что требуется установить защиту и на нужную клеточку и на всю страницу. После этого изображение становится привязанным к соответствующей ячейке.

Вставка в примечание

Как известно, в Excel присутствует возможность установить примечание к конкретной клеточке. Им можно воспользоваться для того, чтобы привязать рисунок.

Вставка картинки в примечание выполняется следующим образом:

  1. Сначала выбирают нужную ячейку и создают примечание к ней. Это можно сделать с помощью контекстного меню, выбрав в нём соответствующую строку.
  2. Кликнув на его границе, в появившемся меню переходят к формату примечания.
  3. В появившемся окне необходимо зайти на вкладку «Цвета и линии». При выборе цвета в нижней части есть кнопка выбора способа заливки.
  4. Для этого действия предусмотрено четыре вкладки, надо открыть ту, которая относится к рисункам. Предоставляется возможность указать файл, содержащий картинку. После подтверждения нужное изображение станет фоном примечания.
  5. Нужно отметить пункт, относящийся к сохранению пропорций рисунка.
  6. Во вкладке «Защита» отменяют защиту объекта.
  7. Среди свойств отмечают перемещение объекта вместе с ячейками.

После выполнения перечисленных действий у нужной клеточки будет примечание, состоящее из рисунка.

Режим разработчика

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

В разделе «Параметры» выбирают настройку ленты и ставят галочку напротив строки «Инструменты разработчика».

Далее следует выбрать ячейку.

Теперь можно приступить к процедуре привязки. Делается это следующим образом:

  1. В ленте «Разработчик» нужно перейти к вставке объекта ActiveX, выбрав при этом изображение.
  2. На странице появится пустой прямоугольник. Кликнув правой клавишей мыши в контекстном меню, переходят к свойствам объекта. Их надо установить таким образом: Placement=1, для Picture, нажав на кнопку с многоточием, выбирают файл с изображением. Затем подтверждают ввод данных.
  3. На ленте «Формат» выбирают выравнивание. В появившемся подменю надо нажать на строку «Привязать к ячейке».

После выполнения этих действий картинка станет привязанной к ячейке.

Как сделать рисунок за текстом

Для этого необходимо установить подложку для страницы. Чтобы это сделать, в главном меню нужно перейти в разметку страницы. В ленте нужно выбрать пункт «Подложка».

После этого электронная таблица предоставит возможность произвести выбор файла с картинкой. После подтверждения этот рисунок станет подложкой страницы Excel.

Пользуясь таким способом нужно учитывать, что при печати этот рисунок будет игнорироваться.

Вставка картинки в колонтитул

При применении такого способа, изображение будет не только видно при работе со страницей, но и будет присутствовать на распечатке.

Для того чтобы вставить картинку, нужно в главном меню выбрать Вставку. В ленте нажимают на «Колонтитулы». После этого выбирают «Картинки». Указывают файл, содержащий рисунок. После подтверждения он будет вставлен на страницу.

Если изображение будет выглядеть слишком ярким, его можно откорректировать. Для этого в разделе «Колонтитулы» выбирают установку формата рисунка. В выпадающем списке «Цвет» выбирают «Подложка». В результате цвет станет приглушённым.

Источник: composs.ru

Excel works!

Excel работает за вас

Excel works!

Thanks for Visiting

Как правильно вставить картинку или фото в Excel?

Иногда в табличный редактор требуется вставка дополнительных объектов из внешнего хранилища. Попробуем разобраться, как вставить картинку или фото в Excel , а после произвести настройку компонента.

Как правильно вставить картинку или фото в Excel? Как отредактировать изображение?

На первом этапе нужно присоединить картинку к документу.

  1. Отмечаем курсором нужную ячейку. В меню ВСТАВКА нажать кнопку РИСУНКИ.

  1. Программа предлагает из окна выбора картинки найти подходящую, пользуясь проводником Windows . В начале отобразится папка ИЗОБРАЖЕНИЯ, расположенная в директории пользователя, поэтому можно сразу переместить нужное фото в неё. После выбора следует нажать на кнопку ВСТАВИТЬ.

На картинке видно, как рисунок по умолчанию помещается на страницу, заполняя буквально всё её пространство в зависимости от разрешения.

Далее следует процедура редактирования, предназначенная для подгонки параметров изображения под документ.

  1. При нажатии правой кнопки мыши на фото, выпадает меню, в котором нам нужен пункт РАЗМЕР И СВОЙСТВА.
  1. Программа предлагает окно форматирования картинки, в котором можно найти большое количество разнообразных параметров относительно размеров, настройки качества, добавления эффектов, обрезки по краям и многое другое.
  1. После добавления фото на лист на ленте настроек активируется вкладка ФОРМАТ , предлагающая оптимальным способом произвести настройку. Об этом есть отдельная статья .
  1. Если потребуется вставить картинку или фото в Excel в определённую ячейку, нужно изменить размер изображения относительно габаритов этой ячейки. Есть разные способы это сделать:
  • Найти нужный пункт в ленте настроек рисунка.
  • Через окно РАЗМЕРЫ И СВОЙСТВА.
  • При использовании контекстного меню.
  • Зажав кнопку мыши, изменить размеры методом перетаскивания границ.
Читайте также:  Как разделить фио на 3 ячейки в excel

Как прикрепить изображение к ячейке?

Подогнав размеры фото так, чтобы оно не выходило за пределы ячейки, нужно прикрепить его к объекту. Это позволяет при сортировке данных перемещать ячейку вместе с фотографией. Существует несколько вариантов такой процедуры.

Алгоритм 1. Защита страницы от изменений
  1. Определяем нужный размер картинки и вставляем её в ячейку.
  1. Нажимаем на фото правой кнопкой мыши и выбираем пункт РАЗМЕР И СВОЙСТВА.
  1. В левом меню окна ФОРМАТ РИСУНКА выбираем РАЗМЕР и отмечаем пункты: «Сохранить пропорции», «Относительно исходного размера».
  1. Нажимаем на пункт меню СВОЙСТВА и отмечаем строки: «Выводить объект на печать», «Защищаемый объект». Активируем вариант привязки к фону: «Перемещать и изменять объект вместе с ячейками». После этого нужно нажать на кнопку ЗАКРЫТЬ в нижней части окна, чтобы применить настройки.

Как закрепить рисунок в ячейке для Excel 2016

  1. При помощи сочетания CTRL +A выделяем всё на странице и через контекстное меню нажимаем на пункт ФОРМАТ ЯЧЕЕК.
  1. В открывшемся окне на самой правой вкладке под названием ЗАЩИТА снимает отметку со строки «Защищаемая ячейка» и нажимаем кнопку ОК.
  1. Теперь аналогичное действие, но для ячейки с картинкой. Выделяем её, заходим в окно ФОРМАТ ЯЧЕЕК и отмечаем пункт «Защищаемая ячейка».
  1. На ленте настроек находим вкладку РЕЦЕНЗИРОВАНИЕ и нажимаем на кнопку ЗАЩИТИТЬ ЛИСТ.
  1. В окне защиты нужно ввести комбинацию символов для пароля и нажать ОК. Далее высветится окно, в котором нужно повторно указать пароль.

Теперь картинка привязана к выделенной ячейке и при любом изменении страницы изображение будет перемещаться вслед за ней.

Алгоритм 2. Использование режима разработчика

По умолчанию в редакторе этот режим не активирован, так как его используют только опытные пользователи.

  1. Переходим в Excel по вкладке ФАЙЛ и находим пункт меню ПАРАМЕТРЫ.
  1. Находим в появившемся окне пункт слева НАСТРОЙКА ЛЕНТЫ и отмечаем строку «Разработчик» в разделе ОСНОВНЫЕ ВКЛАДКИ. Нажимаем ОК.
  1. Активируем ячейку курсором и во вкладке РАЗРАБОТЧИК на ленте настроек нажимаем кнопку ВСТАВИТЬ. В выпадающем меню нужно выбрать «Изображение» из элементов ActiveX .
  1. На листе появляется пустой квадрат, размеры которого можно настроить путём перетаскивания границ. Нажимаем на объекте ПКМ и переходим в окно СВОЙСТВА.
  1. Нужно изменить строку параметра PLACEMENT на «1». В строке PICTURE активируем кнопку с многоточием для вставки изображения.
  1. В окне проводника находим нужное фото и нажимаем ОТКРЫТЬ.
  1. После этих действий понадобится привязка картинки. Клацаем на изображении кнопкой мыши и во вкладке РАЗМЕТКА СТРАНИЦЫ нажимаем кнопку УПОРЯДОЧИТЬ. Выбираем пункт ВЫРОВНЯТЬ и нажимаем на кнопку выпадающего списка ПРИВЯЗАТЬ К СЕТКЕ. Далее следует потянуть мышкой за край картинки.

Теперь, так же как и в первом способе, изображение будет двигаться вместе с ячейкой при сортировке или любом другом изменении расположения строк.

Источник: excelworks.ru

Как в Excel вставить картинку?

Добрый день!

Совсем недавно моему коллеге поручили сделать презентацию доклада, а в любом отчете много таблиц и картинок. Поэтому ко мне он подошел с закономерным вопросом: «Как в Excel вставить картинку?». Это сделать достаточно просто и легко, а также очень полезно, т.к. 80% информации успешнее усваивается с помощью визуальных образов. Для презентаций, прайсов, базы данных, эта возможность станет очень полезной и необходимой.

Я думаю, что достаточно много пользователей хотели бы визуализировать свою информацию, поэтому я хочу, с вами поделится своими знаниями. Поместить изображение в таблицу можно несколькими способами и на каждом из них будем останавливаться подробнее:

Простая вставка рисунка

В панели инструментов, во вкладке «Вставка» находится целый блок «Иллюстрации» с помощью которых вы можете добавлять изображения к себе в файл. В дальнейшем, при активизации картинки появляться дополнительная вкладка работы с рисунками «Формат». С ее помощью вы сможете отредактировать свое изображение (на примере, я показал, как производится обрезка ненужной части фото). Это конечно не фотошоп, но с картинкой можно хорошо поработать. Также можете воспользоваться контекстным меню (клик на картинке правой кнопкой мыши) и с предложенного варианта выбрать пункт «Размер и свойства…» и в открывшемся окне «Формат рисунка» есть очень много полезных настроечек.

Поместить изображение в примечание

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

Для начала нам необходимо собственно создать само примечание. Нужно выбрать ячейку, где оно должно содержатся, установить там курсор, вызвать контекстное меню и выбрать пункт «Вставить примечание». После в ячейке выбираем пункт «Изменить примечание» и в открывшемся примечании нажимаем на рамочку правой кнопкой мыши, вызываем контекстное меню. В этом меню выбираете пункт «Формат примечания». Переходите на вкладку «Цвета и линии». В разделе «Заливка» в пункте «цвет» в выпадающем меню выбираем «Способы заливки…». В открывшимся окне нужно выбрать закладку «Рисунок», следующим шагом нажимаете одноименную кнопку и в проводнике выбираете картинку для вставки в примечание и нажимаете «ОК». Как результат теперь в примечание размещается картинка.

Вставка картинки в ячейку

В этой главе рассмотрим, как нужно вместить картинку в ячейку и привязать к ее границам. Для начала нужно установить курсор на ячейку, в которую будете вставлять графическое изображение. Потом выбираете изображение для ячейки, нажимаете вкладку «Вставка», жмете пиктограммку «Рисунок» (если вы хотите вставить свое изображение) или «Картинка» (вы выбираете из базы предустановленных картинок или найденных в сети), указываете файл и нажимаете «ОК». Подгоните размеры картинки под границы ячеек или, наоборот, по необходимости. Когда картинка стоит в ячейке, вызываете контекстное меню, нажав на изображение ПКМ. В списке выбираете пункт «Размер и свойства». В окне «Формат рисунка» в разделе «Свойства» необходимо установить значок возле пункта «перемещать, и изменять объект вместе с ячейками» и нажимаете «Закрыть». Теперь настраивая ширину столбиков или высоту строк, ваша картинка также будет трансформироваться в размерах.

Добавление изображения с помощью макросов

Последним вариантом по внедрению изображений станет работа с макросами. С их помощью появляется возможность автоматизировать этот процесс и значительно его упростить. Описывать я его детально не буду, так как много макросов предоставлено на ваше усмотрение в интернете. К примеру, можете воспользоваться материалами статьи «Вставка картинок и изображений в ячейки листа Excel» которая размещена на хорошем сайте, где есть много чего о VBA.

Ну, вот я описал все способы как в Excel вставить картинку, я очень надеюсь, что мой материал вам помог. Буду признателен вашим лайкам и репосту в социальные сети, если статья вам понравилась, а ваши замечания жду в комментариях!

До встречи на страницах TopExcel.ru!

Если проблему можно решить за деньги, то это не проблема, это расходы.
Еврейская мудрость

Источник: topexcel.ru

Как вставить изображение в Excel 2016

Для выполнения определенных задач в программе Microsoft Excel может потребоваться вставить фотографию в ячейку. Программа позволяет сделать это несколькими способами. Используя специальные инструменты, можно без труда вставить файл с фото в необходимую область.

Для того, чтобы фотография оказалась в одной из ячеек в Microsoft Excel, файл должен находиться на одном из жестких дисков компьютера или на съемном носителе, который будет подсоединен к компьютеру. Важно помнить, что пользователю будет недостаточно только вставить файл. Это лишь отобразит его на листе, но не прикрепит к ячейкам.

Читайте также:  Как найти дублирующиеся ячейки в excel

Как вставить фотографию?

Для начала следует разобраться с процедурой вставки фото.

    Работа начинается с выделения нужной ячейки или диапазона ячеек. Для этого следует кликнуть по выделенной области правой кнопкой мышки. После этого необходимо перейти к разделу «Вставка». Здесь нужно выбрать «Рисунки».

  • В открытом окне можно будет выбрать необходимое изображение. Открывшееся окно автоматически отобразит файлы в папке «Изображения». Можно заранее перенести нужное фото в папку или выбрать его местоположение вручную. После того, как необходимый файл будет найден и выбран, следует нажать на кнопку «Вставить».
  • В результате фото появится на листе.

    Изменение параметров фото

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

      Навести курсор на фото и кликнуть по нему правой кнопкой мышки. Это действие откроет контекстное меню, где будут представлены различные опции. Необходимо выбрать графу «Размеры и свойства».

  • В открывшемся можно будет отредактировать фотографию. Пользователь сможет изменить ширину или высоту, яркость цвета, насыщенность. Среди прочих опций – возможность обрезать файл, добавить различные эффекты и провести ряд других изменений.
  • Можно обойтись и без блока «Размеры и свойства». Чаще всего достаточно выбрать опцию «Работа с рисунками». Здесь можно отыскать все нужные инструменты.
  • Размер изображения должен соответствовать размеру ячейки или диапазону ячеек. Это позволит фотографии «поместиться» в нужную область.

    Для изменений размера фото можно использовать следующие инструменты:

    • Контекстное меню;
    • Инструменты редактирования в ленте;
    • Окно «Размеры и свойства»;
    • Ручное изменение границ фотографии.

    Способы закрепления изображения.

    Даже если размеры изображения полностью соответствуют параметрам ячейки – это не способствует автоматическому прикреплению фото. Если поменять ячейки местами, изображение все ровно будет там, куда его поместили. Программа Excel дает возможность прикрепить картинку несколькими способами.

    Защищенные ячейки

    Для того, чтобы прикрепить изображение, можно изменить параметры защиты ячеек.

    1. Отредактировать размер фото под ваши нужны.
    2. Нажать правой кнопкой мышки по картинке и выбрать графу «Размер и свойства».
    3. После этого откроется окно, где можно будет увидеть подробные характеристики рисунка. Следует проверить все параметры в графе «Размер». После этого необходимо проставить галочки в графах «Сохранить пропорции» и «Относительно исходного размера».

  • В этом же окне находится блок «Свойства». Необходимо проверить наличие галочек у пунктов «Выводить объект на печать» и «Защищаемый объект». Также следует поставить галочку у пункта «Перемещать и изменять объект вместе с ячейками». После осуществления всех перечисленных выше действий, следует закрыть окно.
  • Далее нужно выделить весь все ячейки на листе нажатием Ctrl+A. Нажать правую кнопку мыши на любой выделенной ячейке и перейти в «Формат ячеек».

    Пользователю нужно перейти в блок «Защита». Здесь следует убрать галочку с графы «Защищаемая ячейка». После этого нужно подтвердить изменения, нажав на клавишу «Ок».

    Далее необходимо выделить ячейку, куда должна быть прикреплена фотография. В меню в «Формат ячеек»выбранной ячейки поставить галочку «Защищаемая ячейка» и нажать «Ок».

  • Далее в верхней части экрана нужно выбрать раздел «Рецензирование». В открывшемся блоке следует выбрать пункт «Защитить лист».
    9. Пользователю будет предложено придумать пароль и сохранить его, нажав «Ок». После этого появится еще одно окно, в котором нужно будет повторно ввести пароль.
  • Эти действия позволят защитить изображение и прикрепить его к нужной ячейке. Если не снять защиту, то провести какую-либо манипуляцию с ячейкой и изображением в ней не получится. Однако это не касается прочих ячеек или же листов в документе. С ними по-прежнему можно осуществлять любые действия.

    Установка изображения в режиме «Разработчик»

    Включив режим разработчика, пользователи могут прикрепить фотографию в любой области. Трудность заключается в том, что для активации режима придется проделать несколько манипуляций:

    1. Перейти в раздел «Файл» и выбрать пункт «Параметры».
    2. В результате откроется меню, где нужно выбрать «Настройка ленты». Пользователь должен поставить галочку перед пунктом «Разработчик». Далее следует подтвердить свои действия, нажав «Ок».

    Перейти в новую вкладку «Разработчик», она появится после активации одноименного режима. После этого следует выбрать пункт «Вставить». Это действие откроет меню «Элементы ActiveX». Здесь необходимо выбрать иконку «Изображение».

  • На экране появится элемент ActiveX, который выглядит как небольшой четырехугольник. Следует изменить размеры окошка вручную, подогнав его под размеры области для вставки. После этого необходимо нажать на появившуюся область правой кнопкой мыши и выбрать «Свойства».
  • Найдите опцию «Placement» и укажите в ней цифру «1». У параметра «Picture» можно увидеть троеточие, необходимо нажать на него, чтобы вставить фотографию.

  • В появившемся окне можно будет выбрать и вставить нужное фото.
  • Эти действия позволят вставить рисунок. Однако к ячейкам он еще не привязан. Для того, чтобы завершить процедуру, следует выделить фотографию и выбрать пункт «Разметка страницы». Далее нужно перейти в раздел «Упорядочить», который расположен в правой части экрана и выбрать команду «Выровнять». В появившемся окне следует выбрать пункт «Привязать к сетке». После этого пользователь сможет привязать фото к ячейке или диапазону ячеек.
  • Если выполнить все указанные выше действия в нужном порядке, пользователь сможет прикрепить нужный файл к выбранной ячейке или диапазону.

    Если после прочтения статьи у вас остались вопросы напишите их в комментарии или воспользуйтесь рубрикой Вопрос — ответ

    Источник: trashexpert.ru

    Закрепить картинку в области

    Добрый день уважаемые форумчане.

    Возможно ли закрепить картинку в области данных, что бы не изменить ни сдвинуть ее нельзя было?

    13.03.2014, 18:08

    Как закрепить области
    доброго дня. У меня такой вопрос по офису 2013. Офис лицензионный активированный. Есть документ, в.

    Закрепить области
    Надо закрепить области, Ввожу ActiveWindow.SplitRow = 1 Но области не закрепляются, а.

    Не могу закрепить картинку
    Я новенький в этом, помогите пожалуйста. Есть сайт и есть маленькая картинка, её нужно закрепить.

    Закрепить картинку справа внизу
    Кто сможет подсказать как закрепить картинку справа с низу Получилось так только с верху справа .

    13.03.2014, 18:14 2

    Решение

    13.03.2014, 18:17 [ТС] 3
    13.03.2014, 18:17
    13.03.2014, 18:17

    Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

    Можно ли закрепить картинку на рабочем столе?
    Можно ли закрепить картинку на рабочем столе? Так, чтобы стандартными средствами никто не смог её.

    Как закрепить картинку за надписью, на резиновом сайте?
    Всем привет, Подскажите, возможно ли закрепить рисунок за текстом, на резиновом сайте – чтобы.

    Как закрепить картинку по центру и обтекание текстом слева
    Пожалуйста обясните как это сделать максмально просто для понимания новичку..

    Закрепить картинку на заднем фоне, но не задеть тексты (CSS)
    Добрый день, проблема такая, нужно намертво закрепить картинку на задней фоне, но не задеть сами.

    Источник: www.cyberforum.ru

    Вставить картинку в лист – по списку или выбору из ячейки

    Сама по себе задача вставки картинки на листе не сложная и ответ лежит на поверхности: это доступно прямо из меню: Вставка (Insert) -группа Иллюстрации (Illustrations)Рисунок (Picture) :

    Кодом VBA вставить тоже не сложно, даже макрорекордер записывает это действие:

    Sub InsertPicture() ActiveSheet.Pictures.Insert(“G:ДокументыИзображенияExcel_vba_ru.png”). _ Select End Sub

    Но что делать, если вставить надо картинку из заранее известной папки, но с изменяющимся именем? А если при этом еще надо не просто вставить – а подогнать размер картинки под размер ячейки? Например, в ячейке А2 название товара(соответствует названию картинки), а в В2 должно быть изображение. Здесь уже посложнее. Но тоже вполне реализуемо при помощи VBA

    ‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ https://www.excel-vba.ru ‘ info@excel-vba.ru ‘ WebMoney – R298726502453; Яндекс.Деньги – 41001332272872 ‘ Purpose: вставка в ячейку картинки с подгонкой под размеры ячейки ‘————————————————————————————— Sub InsertPicToCell() ‘путь к папке с картинками Const sPicsPath As String = “G:ДокументыИзображения” Dim sPicName As String, sPFName As String, sSpName As String Dim oShp As Shape Dim zoom As Double ‘в этой ячейке выпадающий список с именами картинок sPicName = Range(“A2”).Value ‘если имя картинки не задано If sPicName = “” Then Exit Sub End If ‘проверяем наличие картинки в папке sPFName = sPicsPath & sPicName If Dir(sPFName, 16) = “” Then Exit Sub End If ‘в эту ячейку вставляем картинку With Range(“B2”) On Error Resume Next ‘задаем картинке уникальный адрес, ‘привязанный к адресу ячейки sSpName = “_” & .Address(0, 0) & “_autopaste” ‘если картинка уже есть – удаляем её Set oShp = ActiveSheet.Shapes(sSpName) If Not oShp Is Nothing Then oShp.Delete End If ‘вставляем выбранную картинку Set oShp = ActiveSheet.Shapes.AddPicture(sPFName, False, True, .Left + 1, .Top + 1, -1, -1) ‘определяем размеры картинки в зависимости от размера ячейки zoom = Application.Min(.Width / oShp.Width, .Height / oShp.Height) oShp.Height = oShp.Height * zoom – 2 ‘переименовываем вставленную картинку(чтобы потом можно было заменить) oShp.Name = sSpName End With End Sub

    Чтобы использовать код необходимо создать в книге стандартный модуль(переходим в редактор VBA( Alt + F11 ) –InsertModule) и вставить в него приведенный выше код. Чтобы картинка вставилась в ячейку, надо записать имя картинки в ячейку A2 , нажать сочетание клавиш Alt + F8 и выбрать макрос InsertPicToCell. Не очень удобно, правда?
    Значит теперь попробуем сделать так, чтобы при каждом изменении в А2 картинка менялась сама, без необходимости запускать каждый раз код вручную. Для этого придется использовать возможность Excel отслеживать такие события, как изменения ячейки(чтобы лучше понять где это лучше сразу прочитать статью Что такое модуль? Какие бывают модули? и особое внимание уделить описанию про модули листов). Теперь чуть переделываем код:

    Private Sub Worksheet_Change(ByVal Target As Range) ‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ https://www.excel-vba.ru ‘ info@excel-vba.ru ‘ WebMoney – R298726502453; Яндекс.Деньги – 41001332272872 ‘ Purpose: вставка в ячейку картинки с подгонкой под размеры ячейки ‘————————————————————————————— ‘путь к папке с картинками Const sPicsPath As String = “G:ДокументыИзображения” Dim sPicName As String, sPFName As String, sSpName As String Dim oShp As Shape Dim zoom As Double ‘т.к. список с именами картинок у нас в ячейке А2, ‘то определяем, что значение изменилось именно в ней ‘ если в ячейке А2 имена картинок, а список товара в другой ячейке ‘ то надо заменить А2 на ту, которая изменяется списком или руками If Intersect(Target, Range(“A2”)) Is Nothing Then ‘изменения не в А2 – ничего не делаем, завершаем код Exit Sub End If ‘в этой ячейке выпадающий список с именами картинок sPicName = Range(“A2”).Value ‘если имя картинки не задано If sPicName = “” Then Exit Sub End If ‘проверяем наличие картинки в папке sPFName = sPicsPath & sPicName If Dir(sPFName, 16) = “” Then Exit Sub End If ‘в эту ячейку вставляем картинку With Range(“B2”) On Error Resume Next ‘задаем картинке уникальный адрес, ‘привязанный к адресу ячейки sSpName = “_” & .Address(0, 0) & “_autopaste” ‘если картинка уже есть – удаляем её Set oShp = ActiveSheet.Shapes(sSpName) If Not oShp Is Nothing Then oShp.Delete End If ‘вставляем выбранную картинку Set oShp = ActiveSheet.Shapes.AddPicture(sPFName, False, True, .Left + 1, .Top + 1, -1, -1) ‘определяем размеры картинки в зависимости от размера ячейки zoom = Application.Min(.Width / oShp.Width, .Height / oShp.Height) oShp.Height = oShp.Height * zoom – 2 ‘переименовываем вставленную картинку(чтобы потом можно было заменить) oShp.Name = sSpName End With End Sub

    Теперь переходим на лист, где в А2 будет изменяться название картинки -правая кнопка мыши на этом листе –Посмотреть код (View Code) . Вставляем код выше. Все, теперь при любом изменении в А2 картинка будет изменяться(если указанный файл будет найден в нужной папке).
    Если картинки расположены не в “G:ДокументыИзображения” , а в той же папке, что и сама книга с кодом, достаточно эту строку
    Const sPicsPath As String = “G:ДокументыИзображения”
    заменить такими
    Dim sPicsPath As String
    sPicsPath = ThisWorkbook.Path & “”
    тогда папка с книгой будет определяться автоматически.
    Но я понимаю, что куда правильнее в ячейке А2 при помощи выпадающего списка выбирать наименование товара, а в В2 при помощи функции ВПР(VLOOKUP) подтягивать из справочника название картинки и уже по этому названию вставлять картинку. Но подстроить код под это уже не сложно. Приводить его здесь не буду, т.к. можно будет запутаться с описанием списка, функций, где и что. Тем более что сам код практически не отличается. К тому же именно в этой реализации код есть в приложенном к статье файле.

    И еще часто встречающаяся задача по вставке картинок – это вставка картинок массово. Т.е. вставить картинки на основании значений, записанных в столбце. В данном случае это столбец В. А вставлять картинки будем в столбец С, подгоняя размеры картинок под размер каждой ячейки и проверяя, не вставляли ли мы эту картинку туда ранее

    Впрочем, основная часть кода была приведена выше – здесь мы лишь добавим цикл по ячейкам. Так же в этом коде мы используем диалог выбора папки, в котором просматривать картинки:

    ‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ https://www.excel-vba.ru ‘ info@excel-vba.ru ‘ WebMoney – R298726502453; Яндекс.Деньги – 41001332272872 ‘ Purpose: вставка в ячейку картинки с подгонкой под размеры ячейки ‘————————————————————————————— Option Explicit Sub InsertPictureByVal() Dim sPicsPath As String Dim sPicName As String, sPFName As String, sSpName As String Dim llastr As Long, lr As Long Dim oShp As Shape Dim zoom As Double ‘выбираем путь к папке с картинками With Application.FileDialog(msoFileDialogFolderPicker) .Title = “Выбрать папку с картинками” ‘заголовок окна диалога .ButtonName = “Выбрать папку” .Filters.Clear ‘очищаем установленные ранее типы файлов .InitialFileName = ThisWorkbook.Path ‘назначаем первую папку отображения .InitialView = msoFileDialogViewLargeIcons ‘вид диалогового окна If .Show = 0 Then Exit Sub ‘показываем диалог sPicsPath = .SelectedItems(1) ‘считываем путь к папке End With ‘ если путь надо указать статичный – вместо диалога прописываем одну строку ‘ sPicsPath = “C:images” ‘проверяем, есть ли слеш после пути к папке ‘если нет – добавляем, иначе путь к картинке будет неверный If Right(sPicsPath, 1) <> Application.PathSeparator Then sPicsPath = sPicsPath & Application.PathSeparator End If ‘определяем последнюю ячейку по столбцу с именами картинок llastr = Cells(Rows.Count, 2).End(xlUp).Row ‘если кроме шапки в столбце с именами картинок ничего нет If llastr “” And sPicName <> “” Then ‘в эту ячейку вставляем картинку With Cells(lr, 3) ‘задаем картинке уникальный адрес, ‘привязанный к адресу ячейки sSpName = “_” & .Address(0, 0) & “_autopaste” ‘если картинка уже есть – удаляем её Set oShp = Nothing On Error Resume Next Set oShp = ActiveSheet.Shapes(sSpName) If Not oShp Is Nothing Then oShp.Delete End If On Error GoTo 0 ‘вставляем выбранную картинку Set oShp = ActiveSheet.Shapes.AddPicture(sPFName, False, True, .Left + 1, .Top + 1, -1, -1) ‘определяем размеры картинки в зависимости от размера ячейки zoom = Application.Min(.Width / oShp.Width, .Height / oShp.Height) oShp.Height = oShp.Height * zoom – 2 ‘переименовываем вставленную картинку(чтобы потом можно было заменить) oShp.Name = sSpName End With End If Next End Sub

    Прикладываю пример в формате ZIP-архива, т.к. вместе с самим файлом с кодом я приложил папку images, которая содержит картинки, используемые для вставки в файле. Папка images и сам файл с кодом должны быть распакованы в одну папку.
    Скачать файл:

    Вставить картинку в ячейку (366,9 KiB, 48 скачиваний)

    Обратная задача – сохранение картинок из листа – уже разбиралась мной в этой статье: Как сохранить картинки из листа Excel в картинки JPG

    Статья помогла? Поделись ссылкой с друзьями!

    Источник: www.excel-vba.ru

    Добавить комментарий

    Adblock
    detector