Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

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

    Вставка существующего рисунка (фигуры, другого объекта) в ячейку Excel с помощью кода VBA. Подгон ячейки под размеры рисунка и фигуры под размеры ячейки.

    Подгон ячейки под размеры рисунка

    Вставка рисунка в ячейку из кода VBA Excel с подгоном размеров ячейки под размеры фигуры (картинки).

    Сложность заключается в том, что высота и ширина рисунка (фигуры) и высота ячейки измеряются в точках (пунктах), а ширина ячейки (ширина столбца) измеряется в символах.

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

    Код VBA Excel для вставки рисунка в ячейку с подгоном размеров ячейки под размеры фигуры (картинки):

    Свойству Placement объекта Shapes присваиваем значение константы xlMove, которое задает возможность перемещать рисунок вместе с ячейками, но не изменять его размеры при изменении размеров ячеек. Доступные константы из коллекции XlPlacement перечислены ниже.

    Было:

    Стало:

    Подгон фигуры под размеры ячейки

    Вставка рисунка в ячейку из кода VBA Excel с подгоном размеров картинки (фигуры) под размеры ячейки.

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

    Код VBA Excel для вставки рисунков в ячейки с подгоном размеров картинок (фигур) под размеры ячеек:

    Было:

    Стало:

    Константы из коллекции XlPlacement

    Константы из коллекции XlPlacement определяют реакцию рисунка, фигуры или другого объекта из группы «Иллюстрации» на перемещение и изменение размеров ячеек, над которыми рисунок расположен.

    Описание констант из коллекции XlPlacement:

    Константа Значение Описание
    xlMoveAndSize 1 Объект перемещается и изменяет размеры вместе с ячейками
    xlMove 2 Объект перемещается вместе с ячейками, но не изменяет размеры
    xlFreeFloating 3 Объект не перемещается и не изменяет размеры вместе с ячейками

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.