MSProject VBA: Hide subtasks without hiding lower level summaries

Is there a way to hide the subtasks of a summary (using OutlineHideSubtasks) without also rolling up all of the lower level sub-summaries? My user has a large schedule that is difficult to work with: if all of the child tasks of a given summary are completed he wants to roll them up (hide them) to reduce clutter.

I have given him a macro that achieves the effect visually using flags and a filter, but my user wants the displayed recordset to include, but hide, completed tasks so he can unroll them if needed. I told him it's easy enough to remove the filter to display all tasks, but that's not what he's looking for.

I don't know if this is possible, or if there is an alternative method to OutlineHideSubtasks - any suggestions would be appreciated.
dgmoore1Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

regmigrantCommented:
I'm not sure I understand the question correctly; any summary task that has all its child tasks complete can be collapsed to hide the sub tasks, but will still be visible as 100 complete; if it is on the same level as some other summaries/tasks then it can't be hidden except by filtering
0
dgmoore1Author Commented:
Like this:

Summary 1
  Task 1 100%
  Task 2 100%
  Task 3 100%
  Summary 1.1
    Task 1 100%
    Task 2 100%
    Task 3 100%
  Summary 1.2
    Task 1 50%
    Task 2 50%
    Task 3 50%

Roll up only Summary 1 and 1.1's tasks, so the display looks like this:

Summary 1
  Summary 1.1
  Summary 1.2
    Task 1 50%
    Task 2 50%
    Task 3 50%

OutlineHideSubtasks on Summary 1 will display just

Summary 1

Summary 1.1 and 1.2 get rolled up because they are children of summary 1.

If I use a filter I can get the display I want, but I can't expand Summary 1 or 1.1 independently to display their completed tasks.
0
regmigrantCommented:
to achieve
Summary 1
  Summary 1.1
  Summary 1.2
    Task 1 50%
    Task 2 50%
    Task 3 50%

you would need to have a 'summary 1.0' rolling up the non-summary tasks like so:-
Summary 1
  Summary 1.0
   Task 1 100%
   Task 2 100%
   Task 3 100%
  Summary 1.1
    Task 1 100%
    Task 2 100%
    Task 3 100%
...

There is no way to display a subset of tasks at a given outline level without additional filter (display the outline level column and you will see what I mean).

In 2013 you can add a custom outline code that could be assigned to the 100% and then a filter on that might get closer to what's needed
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dgmoore1Author Commented:
I agree  - they're using Project 2010, so 2013 features aren't available. Also, they are not going to restructure their outline - I need to work with it as-is. I'm going to continue to push for the filter solution, which works fine. If they need to expand the outline they can just remove the filter; if they want to roll it back up they can run the macro and apply the filter.

Thanks for your comments.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Project Management Software

From novice to tech pro — start learning today.