Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Farbformatierung XY Diagramm | Herbers Excel-Forum


Betrifft: Farbformatierung XY Diagramm von: Tobi
Geschrieben am: 27.01.2010 14:25:01

Hallo zusammen!

Im ganzen Archiv habe ich bis jetzt keine Lösung für mein Problem gefunden. Vielleicht kann mir so jemand weiterhelfen. Ich habe folgendes Problem:

Aus einer Reihe von Daten soll ich ein XY Diagramm erstellen. Dabei soll abhängig von den X und Y Werten eine Einfärbung der Datenpunkte erfolgen. Um meine Ausgangssituation verständlicher zu machen habe ich eine Datei hochgeladen. Ich habe die Kriterien mal zusammengefasst:

1. Wert in Spalte D größer 0 Hellgrün
2. Wert in Spalte D größer 1 Mio Mittelgrün
3. Wert in Spalte D größer 5 Mio Dunkelgrün
4. Wert in Spalte D zwischen 0 und -1Mio Blau
5. Wert in Spalte D Zwischen -1Mio und -5 Mio Gelb
6. Wert in Spalte D kleiner als -5Mio Rot

Zusätzlich soll zu jedem Datenpunkt sein Name im Diagramm erscheinen. Wie ich das händisch hinbekomme ist mir klar, aber mit VBA bin ich hilflos!

Für Eure Hilfe bin ich sehr Dankbar!

Die Datei:

https://www.herber.de/bbs/user/67553.xls

Gruß

Tobi

  

Betrifft: AW: Farbformatierung XY Diagramm von: Ptonka
Geschrieben am: 27.01.2010 15:23:19

Hallo Tobi,

ich habe Deinen Wunsch einmal programmiert.
Siehe hier:

https://www.herber.de/bbs/user/67558.xls

Ich hoffe, dass es das ist, was Du wolltest.

Gruß,
Ptonka


  

Betrifft: AW: Farbformatierung XY Diagramm von: Beverly
Geschrieben am: 27.01.2010 16:24:06

Hi Tobi,

hier eine Lösung ohne Select:

Sub DiaFaerben()
    Dim inPunkt As Integer
    Dim arrWerte
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
        arrWerte = .Values
        For inPunkt = 1 To .Points.Count
            If arrWerte(inPunkt) > 0 And arrWerte(inPunkt) < 1000000 Then
                .Points(inPunkt).MarkerBackgroundColorIndex = Range("H1").Interior.ColorIndex
                .Points(inPunkt).MarkerForegroundColorIndex = Range("H1").Interior.ColorIndex
            ElseIf arrWerte(inPunkt) >= 1000000 And arrWerte(inPunkt) < 5000000 Then
                .Points(inPunkt).MarkerBackgroundColorIndex = Range("H2").Interior.ColorIndex
                .Points(inPunkt).MarkerForegroundColorIndex = Range("H2").Interior.ColorIndex
            ElseIf arrWerte(inPunkt) >= 5000000 Then
                .Points(inPunkt).MarkerBackgroundColorIndex = Range("H3").Interior.ColorIndex
                .Points(inPunkt).MarkerForegroundColorIndex = Range("H3").Interior.ColorIndex
            ElseIf arrWerte(inPunkt) >= -1000000 And arrWerte(inPunkt) <= 0 Then
                .Points(inPunkt).MarkerBackgroundColorIndex = Range("H4").Interior.ColorIndex
                .Points(inPunkt).MarkerForegroundColorIndex = Range("H4").Interior.ColorIndex
            ElseIf arrWerte(inPunkt) >= -5000000 And arrWerte(inPunkt) <= -1000000 Then
                .Points(inPunkt).MarkerBackgroundColorIndex = Range("H5").Interior.ColorIndex
                .Points(inPunkt).MarkerForegroundColorIndex = Range("H5").Interior.ColorIndex
            Else
                .Points(inPunkt).MarkerBackgroundColorIndex = Range("H6").Interior.ColorIndex
                .Points(inPunkt).MarkerForegroundColorIndex = Range("H6").Interior.ColorIndex
            End If
        Next inPunkt
    End With
End Sub


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Farbformatierung XY Diagramm von: Tobi
Geschrieben am: 29.01.2010 13:43:10

Erstmal Danke an euch Beiden!

Ihr habt mir sehr viel geholfen! Aber ich hab noch eine Nuss, die ich nicht knacken konnte...

Wie bekomme ich zu jedem Datenpunkt den Namen (in der Datei die Spalte B)?

Vielen Dank!

Grüße

Tobi


  

Betrifft: AW: Farbformatierung XY Diagramm von: Beverly
Geschrieben am: 29.01.2010 15:08:33

Hi Tobi,

ergänze den Code vor Next inPunkt durch diese Zeile:

            .Points(inPunkt).DataLabel.Text = "=Tabelle1!R" & inPunkt + 1 & "C2"


GrußformelBeverly's Excel - Inn


Beiträge aus den Excel-Beispielen zum Thema "Farbformatierung XY Diagramm"