Ich versuche mit VBA eine Projektzeitleiste zu erstellen. Ich möchte verschiedene Farben / Stile für die vertikalen (Y) und horizontalen (X) Fehlerbalken erstellen. Ich habe zuerst Record Macro verwendet, um zu sehen, wie die X- und Y-Balken unterschiedlich ausgewählt sind, aber beide zeigen dieselbe ErrorBars-Eigenschaft. Ich möchte, dass die Y-Fehlerbalken gestrichelt sind, aber wenn ich diese Codezeile hinzufüge, werden sowohl die X- als auch die Y-Fehlerbalken geändert. Irgendwelche Vorschläge?
Sub Timeline()
Dim sheet1 As Worksheet
Dim timeline As Chart
Set sheet1 = ActiveWorkbook.Worksheets("sheet1")
Set timeline = sheet1.Shapes.AddChart.Chart
With timeline
.ChartType = xlXYScatter
.SeriesCollection.NewSeries
.SeriesCollection(1).Name ="Project Lengths"
.SeriesCollection(1).XValues ="="sheet1"!C7:C25"
.SeriesCollection(1).Values ="="sheet1"!D7:D25"
.SeriesCollection(1).ErrorBar Direction:=xlX, Include:= _
xlPlusValues, Type:=xlCustom, Amount:="="sheet1"!E7:E25"
.SeriesCollection(1).ErrorBars.EndStyle = xlNoCap
.SeriesCollection(1).ErrorBars.Format.Line.Visible = msoTrue
.SeriesCollection(1).ErrorBars.Format.Line.ForeColor.RGB = RGB(0, 112, 192)
.SeriesCollection(1).ErrorBars.Format.Line.Transparency = 0
.SeriesCollection(1).ErrorBars.Format.Line.Weight = 2.5
.SeriesCollection(1).ErrorBar Direction:=xlY, Include:= _
xlMinusValues, Type:=xlPercent, Amount:=100
.SeriesCollection(1).ErrorBars.EndStyle = xlNoCap
.SeriesCollection(1).ErrorBars.Format.Line.Visible = msoTrue
.SeriesCollection(1).ErrorBars.Format.Line.DashStyle = msoLineSysDash
End With
End Sub
Antworten:
0 für die Antwort № 1Welche Version von Excel verwenden Sie? Ich habe gerade Ihren Code in Excel 2013 versucht und es scheint zu funktionieren.
Die horizontalen Fehlerbalken sind blau und gestrichelt,Die vertikalen Fehlerbalken sind schwarz und nicht unterbrochen. Es ist ein wenig verwirrend, weil es wie ein Balkendiagramm mit wirklich dünnen Balken und horizontalen Fehlerbalken aussieht, aber es funktioniert (zumindest in Excel 2013).