Excel-VBA-Diagramm Mit Mehreren Reihen, Aber Gleiche X-Wert
Ich versuche ein VB-Skript in Excel, die erstellt ein "Stacked Bar Chart".
Von Beispielen finden Sie in diesem Website, ich habe den folgenden code:
Sub AddNewSeries()
ActiveSheet.Shapes.AddChart2(297, xlBarStacked).Select
With ActiveChart.SeriesCollection.NewSeries
.Name = ActiveSheet.Range("$E$3")
.Values = ActiveSheet.Range("IFPStart")
.XValues = ActiveSheet.Range("IFPPN")
.Name = ActiveSheet.Range("$G$4")
.Values = ActiveSheet.Range("IFPBC")
.XValues = ActiveSheet.Range("IFPPN")
.Name = ActiveSheet.Range("$H$4")
.Values = ActiveSheet.Range("IFPBT")
.XValues = ActiveSheet.Range("IFPPN")
.Name = ActiveSheet.Range("$I$4")
.Values = ActiveSheet.Range("IFPEC")
.XValues = ActiveSheet.Range("IFPPN")
.Name = ActiveSheet.Range("$J$4")
.Values = ActiveSheet.Range("IFPFin")
.XValues = ActiveSheet.Range("IFPPN")
.Name = ActiveSheet.Range("$K$4")
.Values = ActiveSheet.Range("IFPIMS")
.XValues = ActiveSheet.Range("IFPPN")
.Name = ActiveSheet.Range("$L$4")
.Values = ActiveSheet.Range("IFPInf")
.XValues = ActiveSheet.Range("IFPPN")
.Name = ActiveSheet.Range("$M$4")
.Values = ActiveSheet.Range("IFPPT")
.XValues = ActiveSheet.Range("IFPPN")
.Name = ActiveSheet.Range("$N$4")
.Values = ActiveSheet.Range("IFPSols")
.XValues = ActiveSheet.Range("IFPPN")
End With
End Sub
Sehen Sie, dass anstelle der Verwendung von Zellbezügen, ich benannte Bereiche, da werden die Daten dynamisch.
Der code läuft ohne Fehler angezeigt, aber die Letzte Serie verwendet, d.h.
.Name = ActiveSheet.Range("$N$4")
überschreibt die zuvor gezeichneten Daten.
Was mache ich falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nicht hinzufügen die Serie eine zu einem Zeitpunkt. Sie werden das hinzufügen einer Reihe und halten, ändern (überschreiben) die Eigenschaften dieser Serie. Damit Sie am Ende nur mit einer Serie, mit den Eigenschaften, die Sie angegeben haben.
Folgende besser laufen könnte:
Ist es möglich, dass Sie benötigen einen
Direkt nach der
AddChart2
Anweisung - auf meiner Maschine, es versucht zu "erraten", eine Serie und bekam es sehr, sehr falsch... aber das oben entfernt und es ließ mich nur die "guten" Serie.Auch - ich fand, dass auf dem Mac, konnte ich nicht verwenden
AddChart2
aber war die Verwendung derAddChart
statt. Nicht sicher, ob das wichtig für dich.AddChart2
ersetztAddChart
in Excel 2013 für Windows und Excel 2016 für den Mac, aber für die rückwärts-Kompatibilität Sie können immer nochAddChart
.AddChart2
macht es einfacher, den neueren, schöneren Diagramm-Stile eingeführt, die in Excel 2013.