Visual Basic для приложений, сокращенно VBA, представляет собой форму Visual Basic 6, интегрированную в программы Microsoft Office. С помощью кодирования VBA позволяет автоматизировать задачи в программах Office, включая Excel. В некоторых случаях вы даже можете добавить новые функции в Excel с помощью VBA.

Хотя вам нужно работать с кодом, чтобы использовать VBA, это не означает, что VBA состоит только из букв и цифр. С помощью VBA в Excel вы можете создать макрос, позволяющий вставлять изображения в ячейку или диапазон ячеек. Читайте дальше, чтобы узнать все об этом!

Как вставить изображение в ячейку с помощью VBA в Excel

Чтобы создать макрос для вставки изображений в ячейки Excel с помощью VBA, вам фактически не нужны какие-либо дополнительные знания Visual Basic. Все, что вам нужно сделать, это включить инструменты разработчика, создать макрос и вставить правильный код.

Однако, если вы хотите когда-нибудь изучить VBA и написать собственный код, мы разбили код VBA в третьем разделе. Конечно, вы также можете

instagram viewer
вставлять картинки в Excel без использования VBA. Но эта статья о том, как это сделать с помощью VBA. Давайте приступим к делу!

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

  1. Откройте Эксель.
  2. Перейти к Файл меню.
  3. Нажмите на Параметры внизу экрана. Откроется окно параметров Excel.
  4. В параметрах Excel перейдите к Настроить ленту вкладка
  5. Под Основные вкладки, проверять Разработчик.

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

2. Создание макроса и вставка кода

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

  1. В Excel перейдите к Разработчик вкладка
  2. в Код раздел, выберите Макросы.
  3. В новом окне введите имя для вашего макроса в Имя макроса. мы собираемся использовать вставкаФотоМакрос.
  4. Нажмите Создавать.

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

Давайте добавим код в этот макрос. Добавьте следующий код между двумя строками:

Dim фотоИмяИПуть Как Вариант
Тусклое фото Как Картина
photoNameAndPath = Приложение. GetOpenFilename (Название: = "Выбирать Фото кВставлять")
Если фотоИмяИПуть = ЛОЖЬ Затем Выход Саб
Набор фото = ActiveSheet. Картинки. Вставить (фотоИмяИПуть)
С Фото
.Слева = ActiveSheet. Диапазон("А1").Левый
.Верх = ActiveSheet. Диапазон("А1").Вершина
.Ширина = ActiveSheet. Диапазон("А1").Ширина
.Высота = ActiveSheet. Диапазон("А1").Высота
.Размещение = 1
КонецС

Ваш окончательный код должен выглядеть примерно так:

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

Теперь пришло время увидеть код в действии.

  1. Закройте окно VBA.
  2. Перейти к Разработчик вкладка в Excel.
  3. Выбирать Макросы из Код раздел.
  4. Выделите макрос, который вы только что создали.
  5. Нажмите Бегать.

Теперь появится приглашение с просьбой найти файл изображения, который вы хотите вставить. Выберите свое изображение и нажмите Открыть. Теперь вы должны увидеть свою фотографию в ячейке A1!

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

3. Разрушение кода

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

Подпрограмма вставкиPhotoMacro()
Dim фотоИмяИПуть Как Вариант
Тусклое фото Как Картина
photoNameAndPath = Приложение. GetOpenFilename (Название: = "Выбирать Фото кВставлять")
Если фотоИмяИПуть = ЛОЖЬ Затем Выход Саб
Набор фото = ActiveSheet. Картинки. Вставить (фотоИмяИПуть)
С Фото
.Слева = ActiveSheet. Диапазон("А1").Левый
.Верх = ActiveSheet. Диапазон("А1").Вершина
.Ширина = ActiveSheet. Диапазон("А1").Ширина
.Высота = ActiveSheet. Диапазон("А1").Высота
.Размещение = 1
КонецС
Конец Саб

После запуска кода мы используем Тусклый Оператор для определения типа переменной. Здесь у нас есть две переменные: фотоИмяИПуть и Фото сам. Мы определили первое как Вариант а последний как Фото.

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

С использованием Если photoNameAndPath = False, то выйдите из подпрограммы, мы указываем, что если указан недопустимый или пустой адрес, процесс должен быть завершен. Однако, если подается правильный файл, то Установите фото = ActiveSheet. Картинки. Вставить (фотоИмяИПуть) указывает, что изображение должно быть установлено как переменная фотографии, которую мы определили ранее, и должно быть вставлено в активную электронную таблицу.

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

.Размещение указывает, должно ли изображение быть размером с ячейками или вставлено в свободной форме. Установка его на 1 будет размер его с ячейками.

В конечном итоге мы используем Конец с а потом Конец сабвуфера закрыть макрос. Обратите внимание, что вы можете изменить фотоИмяИПуть и Фото переменные на любое другое имя, которое вам нравится. Просто не забудьте сохранить имена одинаковыми во всем коде.

Делайте больше в Excel с помощью VBA

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

Хотя вы можете вставлять изображения в Excel с помощью интерфейса, как и в других приложениях Office, вы также можете делать это с помощью VBA. С помощью VBA вы можете автоматизировать эту задачу и даже объединить ее с другими задачами для одновременного выполнения. Возможности VBA в Excel безграничны.