Need to select any Project task and compute critical path to that.

G

Gitpicker

As far as I know, MS Project will not let you choose an intermediate point
(task) in a project (which is not on the original critical path), and then
calculate the critical path to that point. It just goes from start to finish.
Can't this capability be added, or is there a plug-in that will do it?

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/office/com...9410-72e119b3e3c9&dg=microsoft.public.project
 
J

John

Gitpicker said:
As far as I know, MS Project will not let you choose an intermediate point
(task) in a project (which is not on the original critical path), and then
calculate the critical path to that point. It just goes from start to finish.
Can't this capability be added, or is there a plug-in that will do it?

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/office/community/en-us/default.mspx?mid=73c17844-6648
-4b54-9410-72e119b3e3c9&dg=microsoft.public.project

Gitpicker,
Oh, but there is a way. On a program I worked some years ago, we needed
to see the Total Slack (critical path) to multiple intermediate
milestones. I simply set a temporary Finish-no-later-then (a
Must-finish-on might be better) constraint on the desired intermediate
milestone (I also made sure all other relevant constraints were
removed). The critical path, and Total Slack values, lead up to the
constrained milestone. Of course, be aware that some tasks will not be
on the path to that milestone and will still show the critical path to
the end milestone. I segregated those by sorting by Total Slack and then
Start Date.

Hope this helps.
John
Project MVP
 
G

Gitpicker

John,

Does help some. I can also accomplish it by saving a new version and
deleting all after the point I want, thereby getting only those items that
are critical to my point. But both this way and yours are artificial. I would
think it would be relatively easy to put the capability in Project (or a
plug-in" to select any point, and have it calculate the CP to that point
(making it a temporary end point), and afterwords allow a return to original
CP (like one does with a "group" or "sort" or "filter")

Gitpicker
 
J

John

Gitpicker said:
John,

Does help some. I can also accomplish it by saving a new version and
deleting all after the point I want, thereby getting only those items that
are critical to my point. But both this way and yours are artificial. I would
think it would be relatively easy to put the capability in Project (or a
plug-in" to select any point, and have it calculate the CP to that point
(making it a temporary end point), and afterwords allow a return to original
CP (like one does with a "group" or "sort" or "filter")

Gitpicker


Gitpicker,
How is the suggested plug-in any more "real" than the method I
suggested? Either way provides a "temporary" end point. Granted the
process I suggested could be automated but the result will still be the
same - that is, a temporary scenario because the real critical path is
the whole critical path for the whole plan.

John
Project MVP
 
D

Dean C

I submitted this to microsoft several years ago. Try the macro below as an
alternative. It uses Flag1, so if you are using Flag1 for something else you
will need to make a change. Also, if you want the near critical path, you
will want to add days to NewTotalSlack and make the filter less than
NewTotalSlack.

Sub CriticalPathToSelection()
Dim OriginalDeadline, OriginalTask, newdeadline, NewTotalSlack
EnableCancelKey = pjInterrupt
If ActiveSelection = Empty Then MsgBox ("You must select a task before
running this macro."): GoTo Done
If ActiveSelection.Tasks.count > 1 Then MsgBox ("You must select exactly one
task to run this macro."): GoTo Done
OriginalDeadline = ActiveSelection.Tasks(1).Deadline
OriginalTask = ActiveSelection.Tasks(1).UniqueID
newdeadline = ActiveSelection.Tasks(1).Finish - 3000
SetTaskField Field:="Deadline", Value:=newdeadline, AllSelectedTasks:=True
NewTotalSlack = ActiveSelection.Tasks(1).TotalSlack / 480
ViewApply Name:="Gantt Chart"
SelectSheet
SetTaskField Field:="Flag1", Value:="No", AllSelectedTasks:=True
FilterEdit Name:="Total Slack Equals", TaskFilter:=True, Create:=True,
OverwriteExisting:=True, FieldName:="Total Slack", test:="equals",
Value:=NewTotalSlack, ShowInMenu:=False, ShowSummaryTasks:="NO"
FilterApply Name:="Total Slack Equals"
Application.sort Key1:="Finish", Ascending1:=True, Key2:="Start",
Ascending2:=True, Renumber:=False, Outline:=False
SelectSheet
SetTaskField Field:="Flag1", Value:="Yes", AllSelectedTasks:=True
Find Field:="Unique ID", test:="equals", Value:=OriginalTask,
Next:=True, MatchCase:=False
SetTaskField Field:="Deadline", Value:=OriginalDeadline,
AllSelectedTasks:=True
SelectBeginning
GotoTaskDates
Done:
End Sub

Although I don't have a macro for it, you can do the same thing for the
successor chain, using a start no earlier than date that is far in the future.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top