Вставленная картинка на листе является Shape. Изменение её ширины нужно выполнять с сохранением пропорций, если растяжение не требуется специально.
Зададим изображению фиксированную ширину вместо повторного увеличения на процент при каждом запуске.
Что подготовить
На «Проверка» вставьте собственную учебную картинку и назовите её productCard через область выделения. Подготовьте B2 для вывода ширины.
Имя относится к объекту рисунка, а не к ячейке или подписи под ним. Код не скачивает картинки и не использует личные фотографии.
Код и порядок выполнения
Option Explicit
Sub ResizeProductPicture()
Dim pic As Shape
Set pic = ThisWorkbook.Worksheets("Проверка").Shapes("productCard")
pic.LockAspectRatio = msoTrue
pic.Width = 240
ThisWorkbook.Worksheets("Проверка").Range("B2").Value = pic.Width
End SubWidth измеряется в пунктах, не в пикселях. При LockAspectRatio=msoTrue высота изменится согласованно с исходной пропорцией.
Фиксированная ширина 240 делает повторный запуск предсказуемым. Команда Width = Width * 1.5 увеличивала бы рисунок снова при каждом нажатии.
Как проверить результат
После изменения B2 содержит ширину 240 пунктов. Форма изображения сохраняет исходные пропорции.
Ограничения и частые ошибки
Если Shape с таким именем отсутствует, сначала проверьте область выделения и тип объекта. Группа фигур, диаграмма и вставленная картинка могут требовать разных действий.
Свойство Placement управляет поведением объекта при изменении ячеек. Размер картинки и масштаб окна Excel — разные настройки; смена Zoom не меняет Width самого Shape.
Если требуется временное увеличение по клику и возврат, сохраняйте исходные ширину, высоту и положение и определяйте состояние явно. Не пытайтесь восстановить исходник повторным делением, не зная историю запусков.
Проверка перед рабочим запуском
- Объект назван productCard.
- Ширина равна 240 пунктам.
- Пропорции сохранены.
- Повтор не увеличивает рисунок ещё раз.
Сначала выполните пример на учебной копии с указанными именами листов и диапазонами. Сравните исходные данные и результат, затем сохраните проверенный вариант процедуры.
Продолжить изучение: Как создать кнопку для запуска макроса в Excel, Форматирование ячеек VBA: цвет, выравнивание и AutoFit, Ошибка 424 Object required в VBA.
Разберитесь с макросами вместе с преподавателем
На занятии вы записываете действия, читаете код и проверяете результат на небольшом примере. Преподаватель подберёт задания под ваш уровень и поможет понять связь между командами VBA и изменениями в книге.
Начните с бесплатного вводного урока: 45 минут, один на один, без обязательств. Обсудите цель и попробуйте формат. Решение о продолжении — после занятия.