MS Project Textfarbe in Zeile basierend auf Statusfeld ändern

1342
Cobra75007

Ich möchte die Farbe des Textes für eine ganze Zeile ändern, je nachdem, was im Feld "Status" angegeben ist.

Ich habe andere Foren gesucht und Lösungen gefunden, die nahe sind, aber nichts, was wirklich das tut, wonach ich suche. Mir ist die Hervorhebungsfunktion und die bedingte Formatierung bekannt, aber ich kann sie nicht dazu bringen, das zu tun, was ich brauche. Ich habe vor fünf Jahren etwas VB-Code geschrieben, um genau das zu tun, aber ich bin ein Anfänger. Ich habe ungefähr 5 Tage gebraucht, um den sehr einfachen Code zu schreiben, und dann verlor ich ihn, als ich meinen letzten Job aufgegeben habe. :-(

Ich schaue also nach VBA, die Folgendes tun wird:

  • Wenn Status = "Late" ist, färben Sie den Text in der Zeile auf "ROT".
  • Wenn Status = "On Schedule" ist, färben Sie den Text in der Zeile auf "GRÜN".
  • Wenn Status = "Future Task" ist, färben Sie den Text in der Zeile auf "BLACK".
  • Wenn Status = "Complete" ist, färben Sie den Text in der Zeile auf "GRAY".

Ich würde gerne fortgeschritten werden und so etwas wie das Folgende haben: Wenn Status = "Nach Zeitplan" UND% vollständig <85% ist, UND "Enddatum" <5 Tage in der Zukunft ist, dann färben Sie den Text in der Zeile "ORANGE" "

1
Klingt nach einem Job für die bedingte Formatierung. Was hast du ausprobiert, das nicht funktioniert hat? Wie hat es nicht funktioniert? Wenn Sie zum Beispiel in Excel Ihren Datenbereich auswählen und die bedingte Formatierung für die Spalte mithilfe einer Formel verwenden, werden alle ausgewählten Bereichsspalten E auf den Wert überprüft und anschließend die Formatierung auf die gesamte Zeile angewendet. Ich bin im Projekt nicht allzu versiert, da ich es nicht habe. Raystafarian vor 7 Jahren 0
Ja, MS Project hat nicht denselben Funktionstyp "Bedingte Formatierung" wie Excel. Cobra75007 vor 7 Jahren 0
Sie haben keine der Fragen beantwortet Raystafarian vor 7 Jahren 0

1 Antwort auf die Frage

0
user760527

Sub CompletePercentSub ()

Dim t As Task Dim i As Integer

'Iteriert durch die gesamte MS-Projektdatei

i = 1 für jedes t in ActiveProject.Tasks

SelectRow Row:=i, RowRelative:=False  If Not t Is Nothing Then  Select Case t.Status Case 0 'Complete Font32Ex CellColor:=&H98FB98 'LIGHT GREEN Case 1 'On Schedule Font32Ex CellColor:=&HE0FFFF 'TAN Case 2 'Late Font32Ex CellColor:=&HC0FF& 'LIGHT RED Case 2 'Future Task Font32Ex CellColor:=&HFFFFFF 'WHITE End Select End If 

i = i + 1

Nächstes T

End Sub

Bitte klären Sie diese Antwort und fügen Sie ein wenig mehr Kontext hinzu, um genau zu vermitteln, was Sie vorschlagen. Pimp Juice IT vor 6 Jahren 0