Getting multi series bubbles is a pain.
try this coded approach.
Sub MakeBubble()
Dim chtTemp As Chart
Dim rngData As Range
Dim lngRow As Long
Set rngData = Range("M18:P50")
Charts.Add
ActiveChart.Location xlLocationAsObject, rngData.Parent.Name
Set chtTemp = rngData.Parent.ChartObjects(rngData.Parent.ChartObjects.Count).Chart
Do While chtTemp.SeriesCollection.Count > 0
chtTemp.SeriesCollection(1).Delete
Loop
chtTemp.ChartType = xlXYScatter
For lngRow = 1 To rngData.Rows.Count
With chtTemp.SeriesCollection.NewSeries
.Name = rngData.Cells(lngRow, 1)
.XValues = rngData.Cells(lngRow, 2)
.Values = rngData.Cells(lngRow, 3)
End With
Next
chtTemp.ChartType = xlBubble
For lngRow = 1 To rngData.Rows.Count
If lngRow > chtTemp.SeriesCollection.Count Then
chtTemp.SeriesCollection.NewSeries
End If
With chtTemp.SeriesCollection(lngRow)
.Name = rngData.Cells(lngRow, 1)
.XValues = rngData.Cells(lngRow, 2)
.Values = rngData.Cells(lngRow, 3)
.BubbleSizes = "='" & rngData.Parent.Name & "'!" & rngData.Cells(lngRow, 4).Address(, , xlR1C1)
End With
Next
End Sub
Bookmarks