Ссылка на программно добавленную диаграмму

#vba #excel

#vba #excel

Вопрос:

Я использую приведенный ниже код для вставки диаграммы. Как мне теперь ссылаться на указанную диаграмму? Я понимаю, что я должен использовать ChartObject, но как мне это установить?

Чтобы быть более конкретным, я хотел бы присвоить диаграмму переменной, но я не уверен, как это сделать. Я пробовал:

 set myChart = ActiveSheet.Shapes.AddChart(xlLine, 500, 420, , 175)
  

но безрезультатно.

 Sub InsertInfection(rngToPrint As Range, lngTopLeft As String, BottomLeft As String)
    Dim strRange As String
    Dim rngChart As Range
    Dim myChart As ChartObject

    lngStartRow = Sheets(rngToPrint.Worksheet.Name).Range(lngTopLeft).Row
    lngEndRow = Sheets(rngToPrint.Worksheet.Name).Range(BottomLeft).Row

    Sheets(rngToPrint.Worksheet.Name).Activate
    Sheets(rngToPrint.Worksheet.Name).Range("$A$" amp; CStr(lngStartRow) amp; ":$D$" amp; CStr(lngEndRow)).Select

    ActiveSheet.Shapes.AddChart(xlLine, 500, 420, , 175).Select

End Sub
  

Ответ №1:

Вот так

 Dim myChart as Chart
set myChart = ActiveSheet.Shapes.AddChart(xlLine, 500, 420, , 175).Chart
  

Если вам нужна ссылка на ChartObject , используйте myChart.Parent