VBA - Format-Eigenschaften einer Datenreihe
15.03.2018 14:55:15
Ripple
Ich habe folgende Aufgabe:
Ich erstelle ein x-y-Punkt-Diagramm (xlXYScatter) mit 2 Datenreihen mit vba. Die Datenpunktformatierung lasse ich automatisch machen. Ich möchte nun gerne die Formatierung der ersten Datenreihe auf die zweite übertragen und danach lediglich die Füllung der Punkte der 2. Datenreihe ändern. Ich hab das getreu diesem Schema versucht, aber leider spuckt er mir bei ".SeriesCollection(2).Format = Graphformat" den Fehler 438, "Objekt unterstützt diese Eigenschaft nicht. " Code-Beispiel anbei!
Kann mir jemand bei diesem Problem helfen? Also, wie kann ich die kompletten "Format"-Eigenschaften der ersten Datenreihe für die zweite übernehmen und dann lediglich einen Parameter ändern (wie z.B. Fill)?
Vielen Dank für Eure Hilfe!
Ripple
Option Explicit
Sub Diagramm()
Dim NeuesChart As Chart
Dim NeuesChartObj As ChartObjects
Dim Graphformat As ChartFormat
Set NeuesChart = Worksheets("Tabelle1").ChartObjects.Add(300, 100, 400, 400).Chart
Set NeuesChartObj = Worksheets("Tabelle1").ChartObjects
With NeuesChart
.ChartType = xlXYScatter
.SetSourceData Source:=Range("A1")
.SeriesCollection(1).Delete
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Range("A1:A4")
.SeriesCollection(1).Values = Range("B1:B4")
.SeriesCollection(1).Name = "Name1"
Set Graphformat = .SeriesCollection(1).Format
.SeriesCollection.NewSeries
.SeriesCollection(2).XValues = Range("A1:A4")
.SeriesCollection(2).Values = Range("C1:C4")
.SeriesCollection(2).Name = "Name2"
.SeriesCollection(2).Format = Graphformat
.SeriesCollection(2).Format.Fill.Visible = False
End With
End Sub