Live-Forum - Die aktuellen Beiträge
Datum
Titel
03.10.2025 22:18:19
03.10.2025 18:57:58
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Balken im Diagramm nach Wert färben

Balken im Diagramm nach Wert färben
01.04.2015 15:50:33
Stefan
Hallo,
Ich möchte gerne unsere derzeit von Hand gepflegte Plantafel für die Produktion durch ein Excel Diagramm ersetzen, da dies eine große Zeitersparnis bedeuten würde.
Ich habe mir mal die Mühe gemacht und mir in Excel eine Arbeitsmappe erstellt, mit der ich die Daten per Button aus SAP importieren und in einem Diagramm (Gantt-Diagramm) wiedergeben kann. So weit funktioniert auch alles ganz gut (und vor allem sehr schnell).
Was ich jetzt noch erreichen möchte ist dass zueinander gehörende Teilaufträge dieselbe Farbe haben und auch der Balken im Diagramm in dieser Farbe eingefärbt wird. Möglich ist das wohl nur mit VBA.
Die Arbeitsmappe soll regelmäßig neu befüllt werden, wenn neue Produkte eingeplant sind oder es Änderungen gegeben hat. Das einfärben sollte deshalb per Button ausgelöst werden.
Das bestimmende Kriterium ist die Auftragsnummer, die in der Form „Buchstabe, Nummer und Stufe“ vorliegt,
also bspw. A123456-07. Da verschiedene Produktionsstufen zu einem Auftrag gehören, und somit auch dieselbe Farbe erhalten sollen, sind die ersten 7 Stellen der Auftragsnummer relevant. Hierfür könnte ich bei Bedarf noch eine Hilfsspalte in die Tabellenblätter einfügen.
Meine Lösungsidee sähe so aus:
- In einer separaten Tabelle erfasse ich eine große Menge an Auftragsnummern und hinterlege diese farblich. (Auch für spätere Aufträge)
- Dann soll Excel die laufenden Auftragsnummern prüfen und bei Übereinstimmung die hinterlegte Farbe übernehmen (ggf. per Button).
- In letzten Schritt sollen die Balken des Diagramms gemäß den vorher übernommenen Auftragsfarben eingefärbt werden.
Ich weiß leider nicht ob ich mit dieser Idee total auf dem Holzweg bin oder nicht.
Ich habe jetzt die letzten Tage schon fleißig nach Lösungen gesucht, jedoch nichts gefunden womit ich mein Problem lösen könnte. Dazu muss ich auch sagen, dass ich nur geringe Kenntnisse mit VBA habe. Ich traue mir aber zu, einen Lösungsansatz weiterzuführen, sobald ich ihn verstanden habe.
Ich habe mal eine Testversion meines Diagramms beigefügt.
https://www.herber.de/bbs/user/96806.xlsx

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Balken im Diagramm nach Wert färben
01.04.2015 16:37:25
Beverly
Hi Stefan,
wo findet man die Zuordnung, welche Farbe zu welchem Balken (welcher Auftragsnummer) gehören soll?


AW: Balken im Diagramm nach Wert färben
01.04.2015 17:01:57
Stefan
Hallo Beverly,
ich habe in der Arbeitsmappe im Tabellenblatt 2 (ganz rechts) Auftragsnummern farblich hinterlegt.
Ich habe etwa 30 verschiedene Farben willkürlich ausgesucht, die sich immer wiederholen.
Die Auftragsnummern sind bereits 7-stellig. In der Tabelle für das Diagramm und in den Tabellen der einzelnen Maschinen habe ich noch keine Spalte mit 7-stelligen Auftragsnummern eingefügt.
Wenn ich die Auftragsnummern noch in die Tabelle mit einfüge(z.B. vor den Produktnamen), kann man dann den Bezug zu den farblich hinterlegten Auftragsnummern herstellen?

Anzeige
AW: Balken im Diagramm nach Wert färben
01.04.2015 18:45:27
Beverly
Hi Stefan,
ich bin jetzt von den Zellformatierungen in Tabelle2 ausgegangen. Beachte aber, dass es die Auftragsnummer A000000 in deiner Auflistung nicht gibt und diese Datenpunkte deshalb die Originalfarbe behalten.
Sub Faerben()
Dim serReihe As Series
Dim lngReihe As Long
Dim lngPunkt As Long
Dim strAuftrag As String
Dim rngZelle As Range
With ActiveSheet.ChartObjects(1).Chart
For lngReihe = 1 To .SeriesCollection.Count
Set serReihe = .SeriesCollection(lngReihe)
If InStr(serReihe.Name, "Dauer") > 0 Then
For lngPunkt = 1 To serReihe.Points.Count
If Left(serReihe.Points(lngPunkt).DataLabel.Caption, 3) = "Vor" Then
strAuftrag = serReihe.Points(lngPunkt).DataLabel.Caption
strAuftrag = Mid(strAuftrag, InStr(strAuftrag, " ") + 3)
strAuftrag = Left(strAuftrag, InStr(strAuftrag, "Produkt") - 1)
strAuftrag = Left(strAuftrag, InStr(strAuftrag, "-") - 1)
Else
strAuftrag = Left(serReihe.Points(lngPunkt).DataLabel.Caption, 7)
End If
Set rngZelle = Worksheets("Tabelle2").Columns(1).Find(strAuftrag, _
lookat:=xlWhole)
If Not rngZelle Is Nothing Then
serReihe.Points(lngPunkt).Interior.Color = _
Worksheets("Tabelle2").Range(rngZelle.Address).Interior.Color
End If
Next lngPunkt
End If
Next lngReihe
End With
Set rngZelle = Nothing
End Sub


Anzeige
AW: Balken im Diagramm nach Wert färben
01.04.2015 19:58:41
Stefan
Hi Beverly,
ich habe es gerade getestet und die Lösung ist wirklich genial. Ich hätte es mir deutlich komplizierter vorgestellt. Ich bin begeistert. Allerbesten Dank dafür.
Gruß
Stefan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige