# Balkendiagramm-Balken verschiedene Farben?



## maybebaby (22. Juni 2007)

Hallooo nochmal   


leider bin ich hier noch auf eine ziemlich üble Sache gestoßen, welche aber die perfekte Lösung meines ziemlich komplexen Problems sein könnte.. wüsste ich nur wie ich das anstelle...  

Ich habe ein Diagramm welches is wie folgt erstelle:

```
Sub DiagrammJahr()
Dim Bereich As Range
Dim Dia As ChartObject
    Set Bereich = Tabelle4.Range("A4:B12")
    Charts.Add
    
    
    With ActiveChart
        .ChartType = xlColumnClustered
        .SetSourceData Source:=Bereich, PlotBy:=xlRows
        .HasTitle = True
        .ChartTitle.Text = Bereich.Parent.Name
    End With
    
    With ActiveChart
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Projekte"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Stunden"
    End With
End Sub
```

nun habe ich eine auswertung in der steht wieviel prozent des jeweiligen diagramm balkens welche farbe erhalten sollen.
dann hätte ich quasi einen balken der erst von mir aus grün, dann rot und dann blau ist.. also nur als beispiel.

ist das realisierbar ?   :suspekt: :suspekt:

ich flehe förmlich um hilfe....   


viele liebe grüße,
maybebaby


----------



## ronaldh (22. Juni 2007)

Hallo Jackie,

probier es doch mal damit:


```
Sub Makro1()
    ActiveChart.SeriesCollection(1).Select
    With Selection.Border
        .Weight = xlThin
        .LineStyle = xlAutomatic
    End With
    Selection.InvertIfNegative = False
    With Selection.Interior
        .ColorIndex = 4
        .Pattern = xlSolid
    End With
    ActiveChart.SeriesCollection(2).Select
    With Selection.Border
        .Weight = xlThin
        .LineStyle = xlAutomatic
    End With
    Selection.InvertIfNegative = False
    With Selection.Interior
        .ColorIndex = 3
        .Pattern = xlSolid
    End With
    ActiveChart.SeriesCollection(3).Select
    With Selection.Border
        .Weight = xlThin
        .LineStyle = xlAutomatic
    End With
    Selection.InvertIfNegative = False
    With Selection.Interior
        .ColorIndex = 5
        .Pattern = xlSolid
    End With
End Sub
```

Hilft Dir das weiter?

Liebe Grüsse
Ronald


----------



## maybebaby (29. Juni 2007)

Hallo,

der Code hat jetzt meine Balken im Diagramm in schöne leuchtende Farben verwandelt, das sieht zwar viel schöner aus als vorher aber ich meinte dass die Farben in einem Balken unterschiedlich sind.
zB die ersten 10 % des Balkens rot, die nächsten 60% grün usw... verstehst du mich ?

oder dass die Balken sich so überlappen wie in dem Bild das ich mal versuchen werd anzuhängen.
Das man quasi auf einen Blick das folgende sieht :

ein mitarbeiter ist an einem tag von mir aus zu 100 % ausgelastet und das ist mein balken, die 100 %
aber dieser balken ist nun in verschiedene farben unterteilt dass man sieht an welchem projekt er wielange arbeitet..
verstehst du das ? ...


----------



## ronaldh (29. Juni 2007)

Ja, ich verstehe, was Du meinst. Aber ehrlich gesagt verstehe ich Dein Problem nicht.

Ich habe z.B. in F10..F12 3 Werte stehen (die Werte der einzelnen Projekte). Und dann folgendes Makro erstellen:


```
Sub Makro2()
    Range("F10:F12").Select
    Charts.Add
    ActiveChart.ChartType = xl3DColumnStacked100
    ActiveChart.SetSourceData Source:=Sheets("090185-3").Range("F10:F12"), _
        PlotBy:=xlRows
    ActiveChart.Location Where:=xlLocationAsObject, Name:="090185-3"
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory).HasTitle = False
        .Axes(xlSeries).HasTitle = False
        .Axes(xlValue).HasTitle = False
    End With
End Sub
```

Damit erhältst Du einen gestapelten Balken. Das geht natürlich auch für mehrere nebeneinander, und die Farben kann man dann natürlich auch noch zuordnen, wie oben beschrieben.

Oder wenn Du das Diagramm manuell erstellst, wählst Du "Säule" -> "Gestapelte 3D-Säulen -> Reihe in: Spalten.

Oder liegt Dein Problem woanders?

Viele Grüsse
Ronald


----------

