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

VBA Excel. Копирование, перемещение и поворот фигур

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

    Копирование фигур

    Копирование фигур с помощью кода VBA Excel можно произвести как в пределах одного листа, так и с одного листа на другой.

    В пределах одного листа

    Копирование фигур в пределах одного листа осуществляется с помощью метода Shape.Duplicate:

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

    С одного листа на другой

    Копирование фигур с одного листа на другой в VBA Excel осуществляется с помощью методов Shape.Copy и Sheet.Paste:

    Координаты вставленной фигуры будут соответствовать координатам активной ячейки (ActiveCell) на листе «Лист12».

    Перемещение фигур

    Перемещение фигур из кода VBA Excel, как и копирование, можно произвести как в пределах одного листа, так и с одного листа на другой.

    В пределах одного листа

    В пределах одного листа можно произвести абсолютное или относительное перемещение фигур.

    Абсолютное перемещение

    Абсолютное перемещение заключается в присвоении фигуре абсолютных координат с помощью свойств Shape.Left и Shape.Top, которые измеряются в пунктах (точках):

    1 пиксель = 0,75 пункта
    Привязка координат фигуры к координатам заданной ячейки:

    Относительное перемещение

    Относительное перемещение фигуры заключается в ее перемещении на определенное количество пунктов от исходных координат с помощью методов Shape.IncrementLeft и Shape.IncrementTop:

    С одного листа на другой

    Перемещение фигур с одного листа на другой в VBA Excel осуществляется с помощью методов Shape.Cut и Sheet.Paste:

    Фигура «Рисунок 7» вырезается с листа «Лист19» и вставляется на лист «Лист12». Координаты вставленной фигуры будут соответствовать координатам активной ячейки (ActiveCell) на листе «Лист12».

    Поворот фигур

    Поворот фигур в VBA Excel, как и перемещение в пределах одного листа, может быть абсолютным или относительным.

    Абсолютный поворот

    Абсолютный поворот фигуры устанавливается путем присвоения свойству Shape.Rotation значения поворота в градусах от нулевой отметки на вертикальной оси:

    Положение (поворот), которое примет фигура не зависит от ее предыдущего положения (поворота).

    Относительный поворот

    Относительный поворот фигуры в VBA Excel осуществляется с помощью метода Shape.IncrementRotation, который поворачивает фигуру на заданное количество градусов от ее исходного положения (поворота):


    Предыдущая информация по данной теме в статье VBA Excel. Работа с фигурами (Shapes).


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

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

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