VBA: Blasendiagramm

Ich bin hier am verzweifeln…

Wie kann ich mittels VBA ein Blasendaigramm erstellen?

Set newChart = ThisWorkbook.Sheets.Add(After:=Worksheets(Worksheets.Count), Type:=xlChart)
With newChart
.HasTitle = True
.ChartTitle.Characters.Text = „Test“
End With

So das Diagramm wird schon mal erstellt. Aber wie kann ich jetzt die Datenreihen so hinzufügen, dass Excel das auch richtig macht?

.SeriesCollection.Add

Hier kommt immer der Fehler, dass ein Übergabewert angegeben werden muss. Also dachte ich mir, dass ich den Bereich D8:F8 angebe, da:
D8 -> X-Wert
E8 -> Y-Wert
F8 -> Größe der Blase

Allerdings bekomme ich es nicht hin, dass er die Werte so da rein schreibt.
Ich habe kein Code, der auch nur ansatzweise es richtig macht. Daher nur diese paar schnipsel. Weiß da jemand mehr?

Wie muss ich die Datenreihen hinzufügen, dass er die Werte richtig übernimmt?

Hallo Blietzau,

So das Diagramm wird schon mal erstellt. Aber wie kann ich
jetzt die Datenreihen so hinzufügen, dass Excel das auch
richtig macht?

Excel macht das richtig wenn du es ihm richtig vorgibst :smile:

.SeriesCollection.Add

Hier kommt immer der Fehler, dass ein Übergabewert angegeben
werden muss.

Ist doch korrekt, Excel ist da stur, wenn in der Hilfe steht „erforderlich“ solltest du den Parameter, das Argument auch angeben.

*****************************************************************
Add-Methode (SeriesCollection-Auflistung)

Fügt der SeriesCollection-Auflistung eine oder mehrere Datenreihen
hinzu.

Syntax

Ausdruck.Add(Source, Rowcol, SeriesLabels, CategoryLabels, Replace)

Ausdruck Erforderlich. Ein Ausdruck, der ein SeriesCollection-
Objekt zurückgibt.

Source Variant erforderlich. Die neuen Daten, entweder als Range-
Objekt oder als Matrix aus Datenpunkten.


*****************************************************************

Also dachte ich mir, dass ich den Bereich D8:F8
angebe, da:
D8 -> X-Wert
E8 -> Y-Wert
F8 -> Größe der Blase

Und, wie sieht der Code aus?

Wie muss ich die Datenreihen hinzufügen, dass er die Werte
richtig übernimmt?

Mache es manuell und zeichne dabei ein makro auf.

Gruß
Reinhard

so. habe jetzt die Methode .NewSeries genutzt.
Dann kann man die Werte über die Eigenschaften anpassen.

Vom Prinzip also so:

Set scNew = .SeriesCollection.NewSeries 'Neue Datenreihe
scNew.Name = wert
scNew.XValues = rangex
scNew.Values = rangey
scNew.BubbleSizes = bubbleSizeR1C1

Wichtig für alle die ein Blasendiagramm erstellen wollen:

Man kann nicht einfach „.ChartType = xlBubble“ schreiben.
Vorher muss „.SetSourceData“ gesetzt werden. Da kam bei mir aber dann nur dummes Zeug bei raus. Daher habe ich erst
„.SetSourceData“ gesetzt
dann „.ChartType“ gesetzt
und dann alle Datenreihen gelöscht
und dann mit obigen Code die gewollten Datenreihen hinzugefügt.

Danke für deine Antwort.
Die Makroaufnahme hat mir geholfen.

mfg