Добрый день.
Есть код для построение графика в Excel, в VBA.
Хочу увеличить размеры графика, но выдает ошибку, видимо все время разные номера графиков.
Как дать макросу понять, чтобы он менял размеры графика, без привязки к его номеру?
Спасибо.
К графику относятся три элемента:
В момент создания графика присвойте 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