You will need a Macro to drill the status date down to all the individual
tasks.
Also, in the master project, you will need to show a summary task for the
entire project (Tools/Options.... check Show Project Summary Task)
For the Macro, here is some code that will do it for you. Please post back
if you have any questions. You will need to execute the macro
DriveDownStatusDate from your macro window. The other sub is private as it
is called recursively by the first subroutine.
If you found this post helpful, please feel free to rate it.
Public Sub DriveDownStatusDate()
Dim result As VbMsgBoxResult
result = vbNo 'set to safe state
Dim statusDate As Date
statusDate = ActiveProject.statusDate
result = MsgBox("Status Date: " & ActiveProject.statusDate & vbCrLf & _
"Assign this status date (recursively) to all subprojects in the active
project?", _
vbQuestion + vbOKCancel, "Confirm Status Date Propogation")
If result = vbOK Then
Call DrillStatusDown(Application.ActiveProject, statusDate)
Else
MsgBox ("Action canceled by user")
End If
End Sub
Private Sub DrillStatusDown(ByRef mProject As Project, ByVal statusDate)
Dim sProject As Subproject
Dim bproject As Project
If mProject.Subprojects.Count < 1 Then
'Base Case
mProject.statusDate = statusDate
Exit Sub
End If
For Each sProject In mProject.Subprojects
'An inserted project may be a master project by itself.
Set bproject = sProject.SourceProject
bproject.statusDate = statusDate
Call DrillStatusDown(bproject, statusDate) 'recursively push status date
Next
End Sub