Как привязать график к определенному диапазону

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

Как макрос работает

Каждая диаграмма имеет четыре свойства, которые диктуют его размер и положение. Эти свойства: Width, Height, Top и Left. Интересно, что каждый объект Range имеет те же свойства. Так что, если вы установили диаграмме свойства, совпадающее с определенным диапазоном, диаграмма по существу привязывается к этому диапазону.
В этом примере мы регулируем четыре диаграммы так, что их
Width, Height, Top и Left свойства соответствуют заданному диапазону.
Обратите внимание, что мы отождествляем каждую таблицу с именем. Графики, по умолчанию, под названием «Диаграмма» и номер под которым они были добавлены (таблица 1, график 2, график 3, и т.д.). Вы можете увидеть, как каждая из ваших диаграмм называется, нажав любую диаграмму, а затем перейдя на ленту и выберите Format➜Selection Панель. Это активирует панель задач, в котором перечислены все объекты на листе с их именами.

Код макроса

Sub PrivyazatGrafikKDiapazonu()
Dim SnapRange As Range
Set SnapRange = ActiveSheet.Range("B6:G19")
With ActiveSheet.ChartObjects("Диаграмма 1")
.Height = SnapRange.Height
.Width = SnapRange.Width
.Top = SnapRange.Top
.Left = SnapRange.Left
End With
Set SnapRange = ActiveSheet.Range("B21:G34")
With ActiveSheet.ChartObjects("Диаграмма 2")
.Height = SnapRange.Height
.Width = SnapRange.Width
.Top = SnapRange.Top
.Left = SnapRange.Left
End With
Set SnapRange = ActiveSheet.Range("I6:Q19")
With ActiveSheet.ChartObjects("Диаграмма 3")
.Height = SnapRange.Height
.Width = SnapRange.Width
.Top = SnapRange.Top
.Left = SnapRange.Left
End With
Set SnapRange = ActiveSheet.Range("I21:Q34")
With ActiveSheet.ChartObjects("Диаграмма 4")
.Height = SnapRange.Height
.Width = SnapRange.Width
.Top = SnapRange.Top
.Left = SnapRange.Left
End With
End Sub

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.
Оцените статью
Добавить комментарий