Values und XValues eines Series-Objektes ändern
René
ich versuch gerade verzweifelt bei einem vorhandenem Diagramm die Datenquellen der einzelnen Datenreihen zu ändern. Ich will ein Macro schreiben dass ohne anzugeben aus welcher Tabelle die Daten kommen die Datenreihen ändert. Und zwar soll das Macro von einem fertigen und korrekt-formatierten Diagramm ausgehen. Dann stellt es über
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = False
.MaximumScaleIsAuto = False
End With
Das Autoscaling der Achsen aus. Grund des ganzen ist das aus dem Diagramm mal ein "Film" werden soll auf dem sich langsam alle Datenreihen von links nach rechts aufbauen. Dazu soll das Macro über eine for-Schleife durch alles Series-Objekte iterieren und die Values und XValues auslesen.
Dim anzahl As Long
Dim xwerte As String
Dim ywerte As String
anzahl = ActiveChart.SeriesCollection.Count
For i = 1 To anzahl
'For i = 1 To 1
'xwerte = ActiveChart.SeriesCollection(i).XValues
'ywerte = ActiveChart.SeriesCollection(i).Values
Debug.Print (ActiveChart.SeriesCollection(i).Values)
Next i
In einer Hoffnung war, dass ich dann soetwas wie: "=Testblech2!R13C1:R6051C1" (wieso wird "=Testblech2!$A$13:$A$6051" zu "=Testblech2!R13C1:R6051C1" ) zurückbekomme wenn ich ActiveChart.SeriesCollection(i).Values auslese um es dann über eine String-zerlegung zu verändern, aber dem ist leider nicht so. "....Values" ist ein Array (IsArray sagt das zumindest) und mit UBound und LBound zeigt es mir auch die grenzen an, nur wenn ich dann darauf zugreifen will (ActiveChart.SeriesCollection(i).Values(1)) gibt es eine Fehlermeldung. Ich hoffe ich hab das ganze halbwegs verständlich geschildert...
Wäre nett wenn jemand mir helfen könnte. Ich programmier sonst nicht mit VBA und hab wahrscheinlich ein paar Denkfehler bei meiner Programmplanung.
MfG
René