I am using MS Project 2007. I want to highlight overdue tasks in red color. Is there any way to do so?

  • Are you using Due Dates for your tasks? What condition do you use to determine if the task is overdue or not?
    – Al Biglan
    Jul 1, 2011 at 4:50
  • 1
    Yes, I have start dates and finish dates. Finish dates are auto calculated based on work and resources. So, if task is not 100% completed (%Complete field) when today's date > finish date , it is overdue.
    – matrix
    Jul 1, 2011 at 14:21
  • Thanks for the question; solution below works in newer versions of Project also!
    – Sam
    Aug 20, 2020 at 15:38

4 Answers 4


I found the best approach is to use small colored icons in a number column: blue/green/yellow/red.

How I set it up

On an existing number column (e.g. Number1, etc), right-click and choose "Customize Fields" then select the individual field by name. Then, at the bottom of the form, click "Graphical Indicators" and set up ranges for each color icon, then choose the color icon itself.

For example, I wrote a custom formula (see below) that sets the value of Number1 based on the current date and the Finish date of each task. Then, using that value, I set up the Graphical Indicators to show a blue dot for complete, yellow for in progress, green for future, and red for overdue. Unfortunately, it's a bit of setup, but once it is done, it updates automatically. No macro or coding needed.

Custom Formula Setup

Paste the following into the Custom Attributes / Formula for any Number field (make sure it's all on one line):

IIf([% Complete]=100,(ProjDateDiff(now(),[Baseline Finish])/480),IIf([Baseline Finish]<now(),(10000+(ProjDateDiff([Baseline Finish],now())/480)),IIf(([Start]<(ProjDateAdd(now(),7))) And ([Baseline Finish]>(ProjDateSub(now(),7))),(5000+(ProjDateDiff(now(),[Baseline Finish])/480)),IIf(([Baseline Finish]<(ProjDateAdd(now(),7))) And ([Baseline Finish]>now()),(5000+(ProjDateDiff(now(),[Baseline Finish])/480)),IIf(([Start]<now()),(5000+(ProjDateDiff(now(),[Baseline Finish])/480)),(ProjDateDiff(now(),[Start])/480))))))

Display Setup

Under Tools | Customize | Customize Fields..., set the display to "Graphical Indicators." Set it to "Nonsummary rows" and add the following tests:

  • is greater than or equal to -- 10,000 -- image: red circle
  • is greater than or equal to -- 5,000 -- image: yellow circle
  • is greater than or equal to -- 0 -- image: green circle
  • is less than -- 0 -- image: blue circle [N.B. not shown in screenshot]

enter image description here

Here's what it looks like in practice. Color coding:

  • Red = late
  • Blue = done
  • Empty cell? That task is either a summary task or a task that has not been baselined

enter image description here

  • Well well. TechRepublic has a simpler Late-or-Complete indicator: techrepublic.com/blog/tech-manager/… if all you care about is whether or not a task is late. My formula, though more complex, gives you more granular visibility into task status showing what tasks are slipping or upcoming as well as late and complete.
    – balinjdl
    Jan 31, 2013 at 20:44
  • Thanks, @balindjdl - works in newer versions of Project also.
    – Sam
    Aug 20, 2020 at 15:39

I can get you closer but not all the way there. I figured out how to color code completed tasks but not late tasks.

  • In the gantt chart area, right click and select "Bar Styles..."
  • Under normal tasks, insert a row
  • Select an appearance you want for the bar
  • In the drop down menu under "Show..For Tasks" select "finished"

Now, all finished tasks are color coded. I'm still trying to figure out the correct options for late tasks. It must be in there somewhere.

  • +1. @SBWorks. It's a good piece of information and give me several possibilities. In my Gnatt chart, I have marked all finished tasks as green, in-progress tasks as yellow. So rest not-started tasks are in blue. Now my Gnatt chart is more visibly informative. However, it does not solve my problem of highlighting overdue task.
    – matrix
    Jul 8, 2011 at 6:51

You format the text - I have a different version from yours but all versions have a way to do it. IF you can't find it in the ribbon, go to help and ask the question.

  • 1
    I think i did not make it clear. I do not want to do it manually... instead I want Project to do it for me. When ever I open my project, it should show the overdue tasks in red highlighted color.
    – matrix
    Jun 30, 2011 at 8:23

You can use following formula:

IIf([Baseline Finish]=[Actual Finish],1,IIf([Baseline Finish]<[Actual Finish],ProjDateDiff([Baseline Finish],[Actual Finish])/480,IIf([Baseline Finish]>[Actual Finish] And [Actual Finish]<=now(),0,IIf([Baseline Finish]>[Actual Finish] And [Start]>now(),1,ProjDateDiff([Baseline Finish],[Actual Finish])/480))))

Colour codes:

  • Greater than 5: Red
  • Greater than 2: yellow
  • Greater than 0: Green
  • Equals 0: Blue (already completed task) Less than 0 - White (Yet to be started)
  • Unformatted answers are hard to read. While I've attempted to fix your formatting, I have no way to tell if the code is valid or accurate. Please review, and continue to improve the formatting as needed.
    – Todd A. Jacobs
    Jan 20, 2015 at 0:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.