Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige