Jul 172019
 

Diese Seite befasst sich mit dem Thema „Bedingte Formatierung in Microsoft Project“ mit Hilfe von VBA (Visual Basic for Applications). VBA ist eine Programmiersprache und man sollte wissen, was man macht, oder was man besser nicht macht. Ggf. ist es sicherer, den Umgang mit VBA in einem Kurs zum Thema Microsoft Project zu üben, bevor man das nachfolgende Beispiel praktisch nachvollzieht. Natürlich sollte man stets eine Sicherungskopie von allen Dateien machen und ggf. den Administrator, Vorgesetzten um Erlaubnis fragen, bevor man mit VBA experimentiert.

Neben der Möglichkeit die Balkenfarbe von Vorgangsbalken im Gantt-Diagramm in Microsoft Project automatisch mit Hilfe von Spalten-Formeln anzupassen, besteht auch die Möglichkeit die Tabelle des Gantt-Diagramms komplett automatisch mit Hilfe von VBA-Codes zu formatieren:

Im folgenden Beispiel wird die Spalte Text1 benutzt, um Vorgänge bzw. Zeilen mit einem gemeinsamen Merkmal auszustatten, bzw. die Vorgänge in Projektphasen einzuteilen z.B. „Phase1“ und „Phase2“ (Natürlich würde man ein Projekt auch mit Hilfe von Sammelvorgängen objektorientiert in Phasen unterteilen…)

Für alle Zeilen mit dem Merkmal „Phase1“ in Spalte Text1 wird die Textfarbe automatisch rot und fett formatiert und für das Merkmal „Phase2“ wird die Textfarbe für die gesamte Zeile automatisch auf blau und fett formatiert, wenn der VBA-Code (auch Makro genannt) ausgeführt wird.

Am besten wird ein VBA-Code in einem neuen Modul in der Global.MPT von Microsoft Project eingegeben, damit der VBA-Code unabhängig in jeder Microsoft Project Datei funktioniert:

Hierzu startet man aus Microsoft Project den Microsoft Visual Basic for Applications – Editor z.B. mit der Tastenkombination Alt+F11

Im Microsoft Project den Microsoft Visual Basic for Applications – Editor wird mit der Tastenkombination Strg+R der Projekt-Explorer geöffnet (sofern nicht bereits sichtbar)

Im Projekt-Explorer markiert man die Zeile ProjectGlobal (Global.MPT) und über den Menüeintrag Einfügen erreicht man den Eintrag Modul – durch klicken wird ein neues Modul unterhalb von Module im Projekt-Explorer angezeigt.

Durch Doppelklick auf das Modul wird dieses geöffnet – der Cursor blinkt nun im rechten weißen Bereich und wartet auf Codeeingabe – hier gibt man folgenden Code ein:

Sub WelchePhase()
Dim seplura As Task
For Each seplura In ActiveProject.Tasks
Select Case seplura.Text1
Case „Phase1“
SelectRow Row:=seplura.ID, RowRelative:=False
Font Color:=pjRed, Bold:=True
Case „Phase2“
SelectRow Row:=seplura.ID, RowRelative:=False
Font Color:=pjBlue, Bold:=True
End Select
Next seplura
End Sub

!!Achtung falls Sie den Code kopieren: bitte achten Sie darauf, dass die Anführungszeichen in den beiden Zeilen Case „Phase1“ und Case „Phase2“ manuell im Codefenster durch gerade Anführungszeichen über die Tastatur ersetzt werden, ansonsten funktioniert der Code nicht!!

Anschließend kann das Fenster des Microsoft Visual Basic for Applications – Editors einfach geschlossen werden

In einem Projekt, in dem die Merkmale Phase1 und Phase2 in der Spalte Text1 genutzt werden, kann nun das Makro „WelchePhase“ über die Registerkarte Ansicht –> Gruppe Makros –> Befehl Makros in dem Dialogfenster Makros ausgewählt werden. Über die Schaltfläche Ausführen wird das Makro gestartet und die Tabelle des Gantt-Diagramms wird bedingt formatiert.

Bei Neueingabe der Merkmale in den Zeilen muss das Makro erneut ausgeführt werden.