MS Project根据状态字段更改行中的文本颜色


1

我希望根据“状态”字段中指示的内容更改整个行的文本颜色。

我搜索了其他论坛并找到了接近的解决方案,但是没有任何事情可以真正满足我的需求。我知道突出显示功能和条件格式,但是我无法让他们做我需要的事情。我大约在5年前编写了一些VB代码来完成此操作,但是我是一个新手,我花了大约5天的时间编写了非常基本的代码,但是当我离开上一份工作时,我丢失了它。:-(

因此,我希望仅使用一些VBA即可完成以下任务:

  • 如果Status =“ Late”,则将行中的文本颜色设置为“ RED”
  • 如果状态=“按计划”,则将行中的文本上色为“绿色”
  • 如果Status =“ Future Task”,则将行中的文本涂成“ BLACK”
  • 如果Status =“ Complete”,则将行中的文本上色为“ GRAY”

我很想获得进步,并具有以下类似内容:如果Status =“ On Schedule”,并且%完成度是<85%,并且“ Finish Date”是<5天以后,然后为“ ORANGE”行中的文本上色“


听起来像是条件格式化的工作。您尝试了哪些无效的方法?它怎么不起作用?例如,在Excel中,选择数据区域并使用公式对列进行条件格式设置,=$E1="Late"将检查所有选定区域列E的值,然后将格式应用于整个行。我不太擅长项目,因为我没有。
雷斯塔法里安

1
是的,MS Project不具有与Excel相同的“条件格式”功能类型。
Cobra75007 '16

你没有回答任何问题
Raystafarian

Answers:


0

子CompletePercentSub()

视任务为整数

'遍历整个ms项目文件

i = ActiveProject.Tasks中的每t = 1

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

我=我+ 1

下一个

结束子


请澄清此回答并为其添加更多背景信息,以准确传达您的建议。
Pimp Juice IT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.