Share via

Quick switch from mons to emons

Anonymous
2020-09-02T12:07:32+00:00

I have a project file with ~500 tasks. I'd like to switch from mons to emons. Is there a way to do this quickly (i.e., not one by one)?

Microsoft 365 and Office | Access | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

4 answers

Sort by: Most helpful
  1. Dale Howard [MVP] 29,860 Reputation points MVP Volunteer Moderator
    2020-09-02T15:46:53+00:00

    Colleen --

    You have already gotten a couple of excellent responses from my esteemed colleagues, John and Tom, including the caution that an eMonth is 30 calendar days, regardless of the month.  If you have resources assigned to the tasks in your project, you need to be aware that an eMonth is 30 calendar days, with work scheduled 24 hours per day.  I created a sample project with a task spanning 1 Month (which by default is 20 working days) and I assigned a resource to this task at a Units value of 100%.  Microsoft Project calculated 160 hours of Work for this task, scheduling the resource to work 8 hours/day for 20 working days.  When I changed the Duration to 1 eMonth, Microsoft Project recalculated the Work as 720 hours, scheduling the resource to work 24 hours/day for 30 calendar days.

    If you are assigning human resources to the tasks in your project, changing the Duration values from Months to eMonths is going to greatly increase the Work and Cost for your project.  Just an additional thought.  Hope this helps.

    Was this answer helpful?

    2 people found this answer helpful.
    0 comments No comments
  2. John Project 49,705 Reputation points Volunteer Moderator
    2020-09-02T14:18:24+00:00

    ColleenP786,

    Sorry, there is no quick way to do that conversion without some VBA. But you could use Tom's macro recently posted at this link:

    https://social.technet.microsoft.com/Forums/en-US/6100166f-5506-4303-9cdb-3ff6c1df5439/project-task-duration-on-non-summary-tasks-are-staying-at-hours-even-though-i-changed-overall-to?forum=projectprofessional2010general

    However, if your goal is to coax Project into displaying durations in calendar months, then your plan won't work. An "emon" in Project is 30 calendar days regardless of the month.

    John

    Was this answer helpful?

    2 people found this answer helpful.
    0 comments No comments
  3. Anonymous
    2020-09-02T15:03:41+00:00

    Colleen,

    I absolutely agree with John's point that elapsed months - all being exactly 30 calendar days - are not the same as calendar months, so some of the dates might not match your expectations.

    On the face of it, your desire to change from months to emonths would involve changes to both the duration format and the duration value; the value (in minutes) that gets stored for an elapsed month of duration is about 4.5 x the value that gets stored for a default month.  The simple format conversions addressed in the post John referenced would not work.  The following block would work, if you chose the vba route.

    Sub ChDurMonToEmon()

    Dim t As Task

        For Each t In ActiveProject.Tasks

            If Not t Is Nothing Then

                If Not t.Summary Then

                    If (t.DurationText Like "*" & "mon" & "*") And _

                     Not (t.DurationText Like "*" & "emon" & "*") Then

                        ' Change duration from mons to emons

                        t.Duration = Format(t.Duration / 60 / ActiveProject.DaysPerMonth / ActiveProject.HoursPerDay, "0.00" & " emons")

                        Debug.Print t.ID & vbTab & t.Name & vbTab & t.DurationText

                    End If

                End If

            End If

        Next t

    End Sub

    Good luck, tom

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2020-09-02T14:43:06+00:00

    Colleen,

    This is simplest to do using vba, but if you aren't comfortable with programming, then you could do this by a) using a formula to fill a custom duration field with the desired values; and b) copying/pasting the values from the custom duration field into the duration field.  This process is very susceptible to human error, so save your work ahead of time.

    A suitable formula in the custom duration field might be:

    Duration 1 = Format([Duration]/[Minutes Per Day]/20,"0.000" & "emon")

    (If the value of "Days per month" in the calendar options for the project is not 20, then change the 20 in the formula to match.)  Summary should be set to none.

    After pasting the duration column, you'll need to toggle all the summary tasks back to automatic mode and re-calculate to correct their durations.

    Good luck, tom

    Was this answer helpful?

    0 comments No comments