WORKAROUND
You can create a Visual Basic, Applications Edition, macro that takes a
cost field and associates the totals with the appropriate summary tasks.
The following macro loops through the outline levels (there are a maximum
of 10 outline levels in Microsoft Project) and places the sum at the
summary level.
IMPORTANT: If you run the following macro more than once, the macro will
add additional costs to the existing values in the Cost1 field at the
summary level. If you plan to run this macro more than once, you will need
to reset the costs for the summary level task to zero.
Microsoft provides examples of Visual Basic procedures for illustration
only, without warranty either expressed or implied, including but not
limited to the implied warranties of merchantability and/or fitness for a
particular purpose. This Visual Basic procedure is provided 'as is' and
Microsoft does not guarantee that it can be used in all situations.
Microsoft does not support modifications of this procedure to suit customer
requirements for a particular purpose. Note that a line that is preceded by
an apostrophe introduces a comment in the code--comments are provided to
explain what the code is doing at a particular point in the procedure. Note
also that an underscore character (_) indicates that code continues from
one line to the next. You can type lines that contain this character as one
logical line or you can divide the lines of code and include the line-
continuation character.
Sample Macro Code
Sub Costroll()
'OL is a variable to count through the outline levels.
't is an object used to loop through the tasks in the active project.
Dim t As Object
Dim OL As Integer
For OL = 10 To 1 Step -1
For Each t In ActiveProject.Tasks
If Not t Is Nothing Then
If t.OutlineLevel = OL = True Then t.OutlineParent.Cost1 = 0
End If
Next t
Next OL
For OL = 10 To 1 Step -1
For Each t In ActiveProject.Tasks
If Not t Is Nothing Then
If t.OutlineLevel = OL Then
t.OutlineParent.Cost1 = t.Cost1 + t.OutlineParent.Cost1
End If
End If
Next t
Next OL
End Sub
Note that although this macro uses the Cost1 property, Cost2, Cost3, and
BaselineCost are also properties of the Task object. Therefore, you can use
any one of these properties in a similar macro to roll up costs for these
fields.
Also note that this macro, as with other macros which work with either the
Task or Resource collections, will not work on a consolidated project.