我希望根据“状态”字段中显示的内容更改整行文本的颜色。
我搜索过其他论坛,找到了一些接近的解决方案,但没有一个能真正满足我的要求。我知道突出显示功能和条件格式,但我无法让它们满足我的需要。大约 5 年前,我编写了一些 VB 代码来做这件事,但我是个新手,我花了大约 5 天时间编写了最基本的代码,然后在我离开上一份工作时失去了它。:-(
因此,我希望有一些 VBA 可以执行以下操作:
- 如果状态 = “迟到”,则将行中的文本颜色设为“红色”
- 如果状态 = “按计划”,则将行中的文本颜色为“绿色”
- 如果状态 = “未来任务”,则将行中的文本颜色为“黑色”
- 如果状态 = “完成”,则将行中的文本颜色为“灰色”
我希望能够更进一步,实现如下效果:如果状态 = “按计划进行”,且完成百分比 < 85%,且“完成日期” < 未来 5 天,则将行中的文本颜色设为“橙色”
答案1
子完成百分比子()
Dim t 作为任务 Dim i 作为整数
'遍历整个 ms 项目文件
对于 ActiveProject.Tasks 中的每个 t,i = 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
下一步
子目录结束