Excel komplexe Grafik erstellen?
Hallo zusammen ich habe eine komplizierte Aufgabenstellung, an der ich aktuell nicht weiter komme bezüglich Excel Grafiken.
Ich möchte eine Excel Grafik erstellen bei der die Excel aus jeweils Blöcken mit 5 Werten bestehen.
Es sollen insgesamt 10 Blöcke mit 5 Werte sein.
Die Werte sollen dabei eine bestimmte Anordnung haben. Balken 1 und 2 sollen direkt untereinander als gruppierte Balken dargestellt werden. Vertikal soll dabei kein Raum sein. Vertikal bündig soll anschließend Wert 3 eingetragen werden. Als gestapelte Balken soll Wert 4 am Ende von Wert 3 kommmen. Wert 5 soll allerdings ebenfalls beginnen wo Wert 3 endet. Es soll vertikal ebenfalls kein Abstand sein zwischen 3/4/5 und Wert 2
Dieser große Balkenzusammenschluss soll zu einem Land zugeordnet werden.
Ich hoffe dies ist möglich.
1 Antwort
Ja, das ist möglich. Führe folgendes Makro aus. Du musst natürlich da deine entsprechenden Werte einfügen.
Sub Erstelle_Land_Diagramm()
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim i As Integer
Set ws = ThisWorkbook.Sheets("Daten")
' Diagramm hinzufügen
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=600, Top:=50, Height:=400)
chartObj.Chart.ChartType = xlColumnStacked
' Diagramm mit Datenreihen befüllen
With chartObj.Chart
.SetSourceData Source:=ws.Range("B1:G11") ' Annahme: B1 bis G11 enthalten die Werte
.SeriesCollection.NewSeries
.SeriesCollection(1).Values = ws.Range("C2:C11") ' Wert 1
.SeriesCollection(1).Name = "Wert 1"
.SeriesCollection.NewSeries
.SeriesCollection(2).Values = ws.Range("D2:D11") ' Wert 2
.SeriesCollection(2).Name = "Wert 2"
.SeriesCollection.NewSeries
.SeriesCollection(3).Values = ws.Range("E2:E11") ' Wert 3
.SeriesCollection(3).Name = "Wert 3"
.SeriesCollection.NewSeries
.SeriesCollection(4).Values = ws.Range("F2:F11") ' Wert 4
.SeriesCollection(4).Name = "Wert 4"
.SeriesCollection.NewSeries
.SeriesCollection(5).Values = ws.Range("G2:G11") ' Wert 5
.SeriesCollection(5).Name = "Wert 5"
.HasLegend = True
.ChartTitle.Text = "Balkenstruktur je Land"
End With
MsgBox "Diagramm erstellt!"
End Sub