One of the takeaways from the recent Construction CPM Scheduling Conference in New Orleans last week (other than a couple of hurricanes on Bourbon street) was an acknowledgement that while Microsoft Project does indeed enable best practice scheduling, by default many of the required features are turned off. This causes some frustration on behalf of the scheduler who must hunt deep into the Options panel to identify and select the appropriate options for each new project.
To assist in this endeavor, I wrote this little macro. It basically goes through the options and sets them to optimize the scheduling interface for detailed construction scheduling (and therefore may have to be tweaked to support project scheduling in other domains). In the past, I’ve triggered this macro whenever I run any other scripts on the schedule, i.e. I’ve written scripts to facilitate the update process….which call this routine up before going into collecting the update data.
Did I forget a key setting? Let me know and I’ll update it accordingly.
Sub ApplyDefaultSettings() Dim Continue As String Continue = MsgBox("This macro will now apply the standard PMO settings to the project schedule.", vbOKCancel, "Confirm") If Continue = vbOK Then '1 - Project Settings With Application.ActiveProject .AutoTrack = True 'Sets the task status updates resource status setting .MoveCompleted = True 'Move completed work prior to the status date. .MoveRemaining = True 'Move incomplete work after the status date .SpreadPercentCompleteToStatusDate = True 'spread %Complete to the status date .NewTasksCreatedAsManual = False 'Turn off manual tasks .DisplayProjectSummaryTask = True 'Display project summary task .AutoLinkTasks = False 'Do not automatically link tasks when added to the schedule .MultipleCriticalPaths = True 'Calculate multiple critical paths End With '2 - Display Settings Application.NewTasksStartOn (pjProjectDate) 'Sets new tasks to default to the Project Start Date Application.DisplayEntryBar = True 'Displays the Entry Bar Application.Use3DLook = False 'Turns off 3D which used to cause printing issues '3 - Gantt Chart Settings GridlinesEditEx Item:=12, NormalType:=3 'Set the Status Date line GridlinesEditEx Item:=12, NormalColor:=192 GridlinesEditEx Item:=4, NormalType:=0 'Turn off the Current Date line GridlinesEditEx Item:=0, Interval:=3 'Set dotted lines on every third Gantt row GridlinesEditEx Item:=0, IntervalType:=3 GridlinesEditEx Item:=0, IntervalColor:=8355711 GridlinesEditEx Item:=13, NormalType:=3 'Set dotted lines on every vertical top tier column GridlinesEditEx Item:=13, NormalColor:=8355711 End If End Sub
For Project 2013, the macro got stuck at the first line of the Gantt chart settings, GridlinesEditEx. Might be my configuration or Group Policy, but I wanted to pass it along.
I was lazy and only tested in 2016. I’ll take a look. Thanks!
Update. You may want to run this only when the Gantt is displayed….
Hi Andrew, nice posts.
For the CPM, if large program EVM may be used so would it be worthwhile to include?
-Thanks!
Good question….which settings would you recommend for that?
🙂
Likely to have ripostes but recommendations have previously been made for Physical % Complete.
From the object model for 2010 it shows:
Member name Description
PercentComplete Value=0.
PhysicalPercentComplete Value=1.
Couldn’t locate a lter one. Assume for backward compatibility value defs are the same (hopefully!)
Cheers!
Per Kermit’s request. EVM folks feel free to add the following line:
‘4 – EVM Settings
ActiveProject.DefaultEarnedValueMethod = pjPhysicalPercentComplete ‘Set EVM to calculate from Physical % Complete
☺
Thanks Andrew ☺
Thank you for sharing this, I did test the macro in Project Professional 2013 and did not have any problems. Regarding the section in the Gantt Chart Settings, I never thought ‘set dotted lines on every third Gantt row’ would have made a difference to the readability of the project schedule.
Every engineer I’ve ever worked with has insisted on adding grid lines to the Gantt. Not necessarily relevant, but I decided a long time ago to only buy a house from an engineer. They’re much less fault tolerant than, say, your average IT person.