Я пытаюсь заставить VBA автоматически создавать графики на основе столбцов в наборе данных. Количество строк зависит от того, в какие данные загружаются.
Я просто не могу заставить его правильно выбирать данные с помощью следующей функции, поскольку она работает, когда я вручную заполняю коллекцию Series.
Спасибо за любую помощь
Sub generate_PrimaryBubble()
Dim ochartObj As ChartObject
Dim oChart As Chart
Set ochartObj = ActiveSheet.ChartObjects.Add(Top:=100, Left:=200, Width:=500, Height:=300)
Set oChart = ochartObj.Chart
oChart.ChartType = xlBubble
Set CategoryRange = ActiveSheet.Range("B" & CStr(FirstRow) & ":B" & CStr(lastrow))
Set ItemEfficiencyRange = ActiveSheet.Range("I" & CStr(FirstRow) & ":I" & CStr(lastrow))
Set TotalUPCRange = ActiveSheet.Range("I" & CStr(FirstRow) & ":I" & CStr(lastrow))
oChart.SetSourceData Source:=CategoryRange
'SeriesCollection Counting
Dim i As Long
lastrow = Range("N" & Rows.Count).End(xlUp).Row
MsgBox "Last Row: " & lastrow & vbNewLine
'SeriesCollection Creation
For i = 2 To lastrow
oChart.SeriesCollection(i).XValues = Range("N" & i)
oChart.SeriesCollection(i).Values = Range("H" & i)
oChart.SeriesCollection(i).Name = Range("B" & i)
oChart.SeriesCollection(i).BubbleSizes = 1
Next i
'Graph Labels
oChart.Axes(xlCategory).HasTitle = True
oChart.Axes(xlCategory).AxisTitle.Caption = "Efficiency"
oChart.Axes(xlValue).HasTitle = True
oChart.Axes(xlValue).AxisTitle.Caption = "Total #"
'Variable MaximumScales
oChart.Axes(xlValue).MaximumScale = 1000000
oChart.Axes(xlValue).MinimumScale = 0
oChart.Axes(xlPrimary).MaximumScale = 1
oChart.Axes(xlPrimary).MinimumScale = 0
oChart.Axes(xlPrimary).TickLabels.NumberFormat = "0%"
End Sub