Scale a whole project

M

mathiasflink

Hi,

I work in yachting and being able to come up with quick timeschedules
for different sized yachts is critical in order to sell a yacht.
I have follow ups on many yachts in project for example a 50 foot
yacht, now if I could sell a 80 foot yacht I would like to scale up
the 50 foot project with a scalefactor.
I have tried using duration 2 and making formulas but I do not get it
to show on the gant chart, are there any other solutions?

Many thanks

Mathias
 
G

Gérard Ducouret

Mathias,

You could use a small VBA procedure like this one:

Sub ScaleFactor()
Dim ScaleFact As Variant
Dim oTask As Task
Dim Dur As Single

ScaleFact = CSng(InputBox("Value of your Scale Factor from your template",
"Scale Factor", 1.6))
If ScaleFact = "" Then Exit Sub
For Each oTask In ActiveProject.Tasks
If Not oTask Is Nothing Then
If oTask.Summary = False Then
Dur = oTask.Duration
oTask.Duration = Dur * ScaleFact
End If
End If
Next oTask
End Sub

Create a template for a 50 foot yacht and run this VBA for any other length.
Hope this helps,

Gérard Ducouret
 
J

John

Hi,

I work in yachting and being able to come up with quick timeschedules
for different sized yachts is critical in order to sell a yacht.
I have follow ups on many yachts in project for example a 50 foot
yacht, now if I could sell a 80 foot yacht I would like to scale up
the 50 foot project with a scalefactor.
I have tried using duration 2 and making formulas but I do not get it
to show on the gant chart, are there any other solutions?

Many thanks

Mathias

Mathias,
I sounds like you talking more about drawings or literature for the
various sized yachts than scheduling information. However, if you need
to modify a basic template schedule for building different sized yachts,
there's no easy one-step solution.

You can easily change all the dates in an existing schedule by using the
"Adjust Dates" utility, but it will only shift the schedule, not change
the content.

You can develop formulas for spare fields but it will result in static
data only. It will not be reflected in Project's scheduling engine
calculations (i.e. it won't show on the Gantt). To do what I think you
want will require a VBA macro.

Hope this helps.

John
Project MVP
 
J

Jim Aksel

Mathias - I played with Gerard's subroutine and I like it. Thanks Gerard!!!

Something to consider. If tasks are fixed units, then scaling the duration
will adjust work accordingly. If the tasks are fixed duration, you may also
need to to scale the work.
--
If this post was helpful, please consider rating it.

Jim Aksel, MVP

Check out my blog for more information:
http://www.msprojectblog.com
 
M

mathiasflink

Mathias,

You could use a small VBA procedure like this one:

Sub ScaleFactor()
Dim ScaleFact As Variant
Dim oTask As Task
Dim Dur As Single

ScaleFact = CSng(InputBox("Value of yourScaleFactor from your template",
"ScaleFactor", 1.6))
If ScaleFact = "" Then Exit Sub
For Each oTask In ActiveProject.Tasks
    If Not oTask Is Nothing Then
        If oTask.Summary = False Then
            Dur = oTask.Duration
            oTask.Duration = Dur * ScaleFact
        End If
    End If
Next oTask
End Sub

Create a template for a 50 foot yacht and run this VBA for any other length.
Hope this helps,

Gérard Ducouret

Thank you very much, this is exactly the thing I was looking for.
Thank you again,
Mathias
 

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