Excel - Unterschiedliche Spaltenfarben in Diagramm

MrBarcode

Erfahrenes Mitglied
Hallo,

Ich versuche schon seit einer Weile in Excel 2003 in einem Diagramm, bei dem auf der y-Achse die Wochentage aufgeführt sind, zwecks besserer Übersichtlichkeit die Spalten von Sa und So mit einer anderen Farbe einzufärben. Allerdings will mir das so gar nicht gelingen.

Würde mich sehr über einen Lösungsvorschlag freuen.

lg
 
Hai,

deine Frage hab ich irgendwie nicht so richtig verstanden. :confused:

Kannst du ein Beispiel posten ?

Ciao Stefan
 
Hier ein Ausschnitt aus dem Diagramm. Was ich gerne hätte, wäre eine andere Farbe des Bereichs über Samstag und Sonntag. So wie es jetzt ist, ist es ok, aber man hat doch Probleme zu sehen, wo die Wochenenden sind.

Bis jetzt hab ich mir mit den Hilfslinien beholfen, aber das ist irgendwie noch nicht so ganz das Gelbe vom Ei. Mit einer farblichen Unterscheidung könnte man die wöchentlichen Trends einfacher erfassen.

edit: Noch ein Bild so wie ichs gerne hätte. Sorry, aber in der Firma hab ich nur Paint.
 

Anhänge

  • bsp.GIF
    bsp.GIF
    3,9 KB · Aufrufe: 112
  • bsp2.GIF
    bsp2.GIF
    4,5 KB · Aufrufe: 128
Zuletzt bearbeitet:
Hai,

so wie du es haben willst, ist es meines Wissens nach nicht möglich.
Eine Alternative wäre die Variante unten :

Ciao Stefan
 

Anhänge

  • Grafik-1.jpg
    Grafik-1.jpg
    29,6 KB · Aufrufe: 170
Habs geschafft, allerdings mit einem sehr unhübschen Workaround. Hab ein Hintergrundbild erstellt, das mir die Wochenenden markiert. Sobald mehr Werte in der y-Achse sind, ist natürlich alles wieder im Eimer. *grummel*

Aber fürn Anfang ist das mal ok schätze ich. Oder kann man vll. mit vB ein bisschen nachhelfen?

Danke jedenfalls für die Hilfe.

lg
 

Anhänge

  • bsp3.JPG
    bsp3.JPG
    21,4 KB · Aufrufe: 118
  • bsp4.JPG
    bsp4.JPG
    19 KB · Aufrufe: 115
Hallo,
möglich ist zum Beispiel über die Wochenendbereiche einen "Halb"-transparenten kasten zu legen.
Dies sieht dann in VBA so aus:
Code:
Public Sub diagramm_bereich()

breite = ActiveChart.PlotArea.InsideWidth / (ActiveChart.Axes(xlCategory).MaximumScale - ActiveChart.Axes(xlCategory).MinimumScale + 1)
hoehe = ActiveChart.PlotArea.InsideHeight
pos_x = ActiveChart.PlotArea.InsideLeft
pos_y = ActiveChart.PlotArea.InsideTop

For i = ActiveChart.Axes(xlCategory).MinimumScale To ActiveChart.Axes(xlCategory).MaximumScale
    If (Weekday(i) = 7) Or (Weekday(i) = 1) Then
        Set box_h = ActiveChart.Shapes.AddShape(msoShapeRectangle, pos_x, pos_y, breite, hoehe)
            box_h.Fill.ForeColor.SchemeColor = 10
            box_h.Fill.Transparency = 0.75
            box_h.Line.Visible = msoFalse
        Set box_h = Nothing
    End If
    pos_x = pos_x + breite
Next i

End Sub

Habe dir auch eine Beispieldatei angehängt.

gruß
thekorn
 

Anhänge

  • diagramm_farbe.zip
    9 KB · Aufrufe: 71
Ganz Super Im angehängten Beispiel funktionierts genauso wie ichs haben möchte.

Aber ich bekomm in meiner Arbeitsmappe nur einen Laufzeitfehler 1004 mit "Die Maximumscale Eigenschaft des Axis-Objektes kann nicht zugeordnet werden."

Hab mir im vB Editor ein neues Modul angelegt, dort den Code reinkopiert und auf ausführen geklickt. Nach nem kurzen überfliegen des Codes weiß ich noch nicht, wiesos bei deinem geht und bei meinem nicht ...

edit:// ok, offenbar hakts daran, dass ich mit Spalten arbeite, und das Beispiel mit Reihen. Aber ich kenn mich nicht gut genug aus mit vB um zu wissen warum das ein Problem ist..
 
Zuletzt bearbeitet:
Es ist vollkommen egal ob die Datensätze Spalten- oder Zeilenweise existieren.
Wichtig ist aber folgendes:
Die Ausgabe der Wochentage erfolgt über die entsprechende Formatierung eines Datum! Dadurch hat die X-Achse auch eine Datumsformatierung. Liegt dagegen der Tag nur Als String vor, funktioniert das so nicht.

gruß
thekorn
 
Sehr fein! Danke! Jetzt funktioniert alles.

edit:// für alle, dies auch probieren wollen. man muss explizit bei der Beschriftung der x-Achse Daten angeben. Sehr feines Skript, großes Lob an den Verfasser ;)
 

Anhänge

  • bsp4.JPG
    bsp4.JPG
    8,4 KB · Aufrufe: 123
Zuletzt bearbeitet:
Zurück