Home TIPPS&TRICKS MS Project 2010 MS Project Balkenfarbe ahängig von Vorgangseigenschaft

.
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:

273_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:

273_Gliederungscodes


Der Farbcode in der Beschreibungsspalte muss diesem entsprechen:

273_Farben

2. Den gewünschten Vorgängen dann ein Gewerktyp (=Gliederungscode1) zuweisen und untenstehenden Code ausführen:

273_Code erstellen


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:

273_Code ausfuehren