Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Diagramm-Farbe / Inhalt
#1
Moin zusammen,

ich habe folgendes Problem, ich habe eine Excel-Tabelle / Liste die ich jeden Monat als Diagramm darstelle, die Tabelle besteht aus Namen von Produkten sowie die Ausbringungsmenge die in einem Diagramm dargestellt wird.

Excel sortiert die Produkte automatisch absteigend nach Produkten und ordnet den Produkten im Diagramm Farben zu. Dies ist auch korrekt. Jedoch sollen die Farben in jedem Monat bei jedem Produkt die gleichen sein, wenn ein Produkt im Ranking jedoch über das andere geht, wechselt die Farbe mit.

Beispiel:

Produkt 1 = 1000 (im Diagramm Gelb)
Produkt 2 = 500 (im Diagramm Grün)

Wenn jetzt Produkt 2 größer als Produkt 1 wird, wird Produkt 2 Gelb und 1 Grün.

=> Die Farbe soll nicht mengenorientiert sein, sondern Inhalt orient. / Das Diagramm soll jedoch immer das größte zuerst darstellen mit der Produkt orientierten Farbe.

Habt ihr eine Idee?

Dankeschön und Gruß!
to top
#2
Hallo Hanno,

Farben fest zuweisen geht per VBA.
Hier gibt es Videos und Code: http://thehosblog.com/2014/10/13/excel-d...-zuweisen/

Gruß

Hennes
to top
#3
Vielen Dank für den Link, leider habe ich folgendes Problem, trotz der genauen Vorgehensweise wie bei den Videos.

Jemand eine Lösung, ebenfalls sind meine Bezeichnungen etwas anders, jemand eine Lösung?

- Anbei zwei Sreenshots!

Danke und Gruß!


Angehängte Dateien Thumbnail(s)
       
to top
#4
Das Problem konnte ich bereits lösen, ich habe mit der Version von 2010 gearbeitet.

Bei 2013 funktioniert die Anleitung und die Übernahme des Namens!

Diese funktioniert jedoch nur bei einem Säulen Diagramm, ich brauche jedoch ein Kreisdiagramm...

Ich brauche jedoch eine Lösung für Kreisdiagramme bei Excel 2010 - jemand eine Idee?

Danke und Gruß
to top
#5
Hallöchen,

Du könntest versuchen, den Code für das Einfärben der einzelnen Scheiben aufzuzeichnen. Klicke in eine Zelle, starte den Makrorekorder und leg los. Nachdem Du alle 3 Scheiben gefärbt hast, klickst Du wieder in eine Zelle und beendest die Aufzeichnung.
Dann bekommst Du etwas wie das, nur etwas länger:
Zitat:Sub Makro2()
ActiveChart.FullSeriesCollection(1).Points(2).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
End Sub

Um die unterschiedlichen Farben hinzubekommen, kannst Du vor dem Anfassen der 3 Scheiben ein Array bilden, wo Du für die 3 Scheiben die Farben ermittelst und einträgst, im Prinzip mit If / ElseIf / Else - oder alternativ mit Select Case, so:

Code:
'Wenn erster Wert kleiner kleinster grenzwert, dann Array(1) = Farbwert 1
If ... Then
...
'Ansonsten Wenn erster Wert kleiner mittlerer grenzwert, dann Array(1) = Farbwert 2
Elseif ... Then
...
'Sonst Array(1) = Farbwert 3
Else
...
End If

Das für die 3 Farben und dann nimmst Du zum Einfärben

Code:
.ForeColor.RGB = RGB(Array(1))
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste