.
In einem meiner letzten in-house-Seminare wurde von den Teilnehmern der Wunsch geäußert, die Balkenfarbe im Gantt-Diagramm in Abhängigkeit einer Vorgangseigenschaft (in diesem Fall des Gewerks) zu ändern.
Beispiel:
Dafür gibt es in Microsoft Project keine out-of-the-box Lösung.
Ich habe daher einen Code geschrieben mit dem Sie leicht die Funktionalität erhalten können.
Ausgegangen bin ich dabei von einem Gliederungscode Feld. Dieses hat den Vorteil gegenüber einem Textfeld, dass nicht so leicht Falscheingaben passieren und der Farbtyp erweitert und verändert werden kann, ohne in den Code eingreifen zu müssen:
So ist die Lösung aufgebaut:
1. Gliederungscode1 aufbauen:
Der Farbcode in der Beschreibungsspalte muss diesem entsprechen:
Sub BalkenEinfaerben()
Dim t As Task
Dim i As Integer
For Each t In ActiveProject.Tasks
If t.OutlineCode1 <> "" Then
i = 0
If ActiveProject.OutlineCodes.Item(1).LookupTable.Item(1).IsValid = True Then
Do
i = i + 1
Loop Until t.OutlineCode1 = ActiveProject.OutlineCodes.Item(1).LookupTable.Item(i).Name
End If
GanttBarFormat TaskID:=t.ID, middlecolor:=ActiveProject.OutlineCodes.Item(1).LookupTable.Item(i).Description
End If
Next t
End Sub
Der Vollständigkeit halber muss ich noch erwähnen, dass ich nicht alle anzunehmenden Falscheingaben von Usern abgefangen habe.
Weiterhin habe ich den Code nur unter MS-Project 2010 deutsch getestet.
Sollten Sie es in einer anderen MS-Project Version benötigen, so schreiben Sie mir bitte.
Anlegen des Codes
Unter Microsoft Project 2010 geht das folgendermaßen:
1. Reiter "Ansicht" -> "Makros" -> "Visual Basic"
Im jeweiligen Project-File unter "ThisProject" rechts den Code hinein kopieren, siehe Screenshot (oben)
Abspeichern und Visual Basic wieder schließen.
2. Ausführen: Reiter "Ansicht" -> "Makros" -> "Makros anzeigen" -> Makro "BalkenEinfaerben" auswählen und auf die Schaltfläche "Ausführen" klicken, siehe:
| < Zurück | Weiter > |
|---|