Вам нужно будет создать новую серию для каждой из них, прежде чем присваивать им значения ...
Dim ochart As Object, ochartObj As Object
Set ochartObj = ActiveSheet.ChartObjects.Add(Top:=10, Left:=325, Width:=600, Height:=300)
Set ochart = ochartObj.Chart
ochart.ChartType = xlXYScatter
ochart.SeriesCollection.NewSeries
ochart.SeriesCollection(1).XValues = Range("B1:B2")
ochart.SeriesCollection(1).Values = Range("A1:A2")
ochart.SeriesCollection.NewSeries
ochart.SeriesCollection(2).XValues = Range("B3:B4")
ochart.SeriesCollection(2).Values = Range("A3:A4")
Кроме того, я бы посоветовал вам объявить ваши объекты как их конкретные типы.Это делает код немного более эффективным, и вы получите преимущество от IntelliSense.Соответственно, ваш код может быть переписан следующим образом ...
Dim ochart As Chart, ochartObj As ChartObject, oSeries As Series
Set ochartObj = ActiveSheet.ChartObjects.Add(Top:=10, Left:=325, Width:=600, Height:=300)
Set ochart = ochartObj.Chart
With ochart
.ChartType = xlXYScatter
Set oSeries = .SeriesCollection.NewSeries
With oSeries
.XValues = Range("B1:B2")
.Values = Range("A1:A2")
End With
Set oSeries = .SeriesCollection.NewSeries
With oSeries
.XValues = Range("B3:B4")
.Values = Range("A3:A4")
End With
End With
Надеюсь, это поможет!