У меня динамически меняющаяся таблица в Excel, и вам нужно, чтобы пузырьковая диаграмма автоматически основывалась на таблице даже при изменении данных. Ключ состоит в том, что каждый ROW в таблице представляет собой серию, которая находится в пузырьковой диаграмме.Динамическая серия пузырьков Excel VBA update
Series A 5 10 5%
Series B 4 8 3%
.
.
Я понимаю, как использовать динамические диапазоны без VBA для пузырем, но так как мне нужно, чтобы создать/обновить динамические ряды из моих исследований мне нужно использовать VBA. Я написал следующий код, но получаю сообщение об ошибке, что график не найден, хотя я проверил 50 раз. У меня есть правильное имя.
Мне нужен код VBA, чтобы ссылаться на существующий график на Sheet11 и обновить его (добавить/изменить) на основе таблицы.
Мой код:
Public Sub CreateMultiSeriesBubbleChart()
Dim bubbleChart As ChartObject
Set bubbleChart = Sheet11.ChartObjects("Chart 13") ''verified i have chart 13 on sheet 11
Dim r As Integer
For r = 2 To 201
With bubbleChart.Chart.SeriesCollection.NewSeries
.Name = "=" & Sheet11.Cells(r, 1).Address(External:=True)
.XValues = Sheet11.Cells(r, 2).Address(External:=True)
.Values = Sheet11.Cells(r, 3).Address(External:=True)
.BubbleSizes = Sheet11.Cells(r, 4).Address(External:=True)
End With
Next
bubbleChart.Chart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
bubbleChart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Text = "=" & Sheet11.Cells(1, 2).Address(External:=True)
bubbleChart.Chart.SetElement (msoElementPrimaryValueAxisTitleRotated)
bubbleChart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Text = "=" & Sheet11.Cells(1, 3).Address(External:=True)
''bubbleChart.Chart.Axes(xlValue).MinimumScaleIsAuto = True
''bubbleChart.Chart.Axes(xlValue).MaximumScaleIsAuto = True
''bubbleChart.Chart.SetElement (msoElementPrimaryCategoryGridLinesMajor)
End Sub
К сожалению, этот код дает ошибку на Set BubbleChart строку: 'Application или объекта определяется ошибка'. Я могу использовать очень похожий код для создания новой диаграммы, поэтому я считаю, что все работает правильно, но я не могу ссылаться на существующую диаграмму, которую я должен уметь делать.