Excel, VBA. Как обратиться к графику без привязки к его номеру?

Автор tigrusha, 17 сентября 2015, 13:03

tigrusha

Добрый день.
Есть код для построение графика в Excel, в VBA.
Хочу увеличить размеры графика, но выдает ошибку, видимо все время разные номера графиков.
Как дать макросу понять, чтобы он менял размеры графика, без привязки к его номеру?

Спасибо.

Администратор

К графику относятся три элемента:

  • Shape
  • ChartObject
  • Chart
В момент создания графика присвойте vba-имя нужному элементу графика. Далее в коде уже обращайтесь к нужному элементу с помощью этого vba-имени.

Примеры кодов

Код 1
Sub Main()

    Dim shp As Excel.Shape
   
    ' Создание графика и присвоение vba-имени рисунку (рисунок - это Shape), к которому относится график.
    Set shp = ActiveSheet.Shapes.AddChart2
   
    ' Пример, как можно работать с графиком с помощью vba-имени.
    ' Вывод в vba-окно View - Immediate Window имени объекта "Shape".
    Debug.Print shp.Name
   
End Sub
[свернуть]
Код 2
Sub Main()

    Dim chrtobj As Excel.ChartObject, chrt As Excel.Chart
   
    '1. Создание графика и присвоение vba-имени объекту "Chart".
    Set chrt = ActiveSheet.Shapes.AddChart2.Chart
   
    '2. Присвоение vba-имени объекту "ChartObject".
    Set chrtobj = chrt.Parent
   
    '3. Пример, как можно работать с графиком с помощью vba-имени.
    ' Вывод в vba-окно View - Immediate Window имени объекта "ChartObject" и объекта "Chart".
    Debug.Print chrtobj.Name
    Debug.Print chrt.Name
   
End Sub
[свернуть]