Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: tigrusha от 17 сентября 2015, 13:03

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

Спасибо.
Название: Re: Excel, VBA. Как обратиться к графику без привязки к его номеру?
Отправлено: Администратор от 17 сентября 2015, 13:22
К графику относятся три элемента:
В момент создания графика присвойте 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
[свернуть]
Название: Re: Excel, VBA. Как обратиться к графику без привязки к его номеру?
Отправлено: tigrusha от 17 сентября 2015, 14:38
Большое спасибо.