You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于完成百分比设置Microsoft Project任务行背景色

修正后的VBA代码
Sub SetTaskRowColorByCompletion()
    Dim t As Task
    
    For Each t In ActiveProject.Tasks
        ' 跳过空任务,仅处理真实存在的任务行
        If Not t Is Nothing Then
            ' 通过任务ID精准定位对应行,避免索引偏移问题
            SelectRow Row:=t.ID, RowRelative:=False
            
            Select Case t.PercentComplete
                Case 100
                    Font32Ex CellColor:=vbGreen
                Case 2 To 99
                    Font32Ex CellColor:=vbYellow
                Case Else ' 匹配0%或1%的未完成状态
                    Font32Ex CellColor:=vbRed
            End Select
        End If
    Next t
End Sub
关键修正说明
  • 修复百分比区间判断:原代码中Case 2 - 99是数值计算(结果为-97),完全不符合需求,改为Case 2 To 99才能正确匹配2%到99%的完成区间。
  • 自动停止在最后一行任务:遍历任务时加入If Not t Is Nothing Then判断,会自动跳过项目中的空任务(比如手动插入的空白行),仅处理真实存在的任务,自然在最后一行任务后结束运行。
  • 精准定位任务行:原代码用递增索引i定位行,当任务被删除或顺序调整时会出现偏移。改用任务ID(t.ID)直接选择对应行,定位更准确。

内容的提问来源于stack exchange,提问作者Juls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:02:41