Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Expand/Collapse Grouped Data in Protected Worksheet

1,392 views
Skip to first unread message

Robert Slattery

unread,
Apr 12, 2005, 7:05:03 PM4/12/05
to
I've created a worksheet that will be distributed to 300+ users in an
investment group. It contains formulas and computations in cells that could
easily be overwritten by spreadsheet novices, so I've protected the worksheet
so users can only edit the cells they need to for the sheet to return the
info they need. The problem is: after protecting the worksheet, Excel won't
allow the user to expand or collapse grouped rows that list detailed
information on each step of the calculations. This is inconvenient because
I'd like to give the users the ability to expand the spreadsheet to see
what's going on, but collapse the extra data for printing purposes. MS
Support said that this functionality wasn't available (but it should be), so
I'm curious if anyone has ideas for a good workaround? The spreadsheet can
be grabbed from www.realrobert.com/foreclosure/worksheet.xls - password is
blank to unlock. Any feedback would be greatly appreciated!

Jim Cone

unread,
Apr 12, 2005, 8:31:33 PM4/12/05
to
Robert,

I modified your workbook slightly, added some code and a couple
of buttons from the Forms toolbar. I believe it does what you want.

1. Insert a row just above "auction items", call it Details and format it
the same as the Summary row.
2. Clear the outline
3. Add a button to cell B25 with the caption "Details"
4. Add a button to cell C25 with the caption "Summary"
5. Add a module to your workbook and insert the following code...
'-----------------------------------------------
Sub ShowTheDetails()
ActiveSheet.Unprotect
If Rows(27).Hidden = True Then
Rows("27:43").Hidden = False
Else
Rows("27:43").Hidden = True
End If
ActiveSheet.Protect
End Sub


Sub ShowTheSummary()
ActiveSheet.Unprotect
If Rows(45).Hidden = True Then
Rows("45:53").Hidden = False
Else
Rows("45:53").Hidden = True
End If
ActiveSheet.Protect
End Sub
'----------------------------------------------

6. Assign ShowTheDetails macro to the "Details" button.
7. Assign ShowTheSummary macro to the "Summary button.

I will be glad to send you the workbook with the changes in it, if you
would like to see it. Remove XXX from my email address.

Regards,

Jim Cone
San Francisco, USA
jim.c...@rcn.comXXX


"Robert Slattery" <RobertS...@discussions.microsoft.com> wrote in message
news:F8974C71-BD41-4E07...@microsoft.com...

Colin_Bizfine

unread,
Apr 12, 2005, 10:11:01 PM4/12/05
to
I had a very similar requirement with grouped columns.

Dave Peterson (thanks agin Dave) posted the following and it worked fine for
me. The only qualifiication is that someone who knows what they are doing
can edit the macro and see your password - not a problem in my case as I am
trying to protect the sheet from novices no experts!

'If you already have the outline applied, you can protect the worksheet in
code
(auto_open/workbook_open??).

Option Explicit
Sub auto_open()
With Worksheets("sheet1")
.Protect Password:="hi", userinterfaceonly:=True
.EnableOutlining = True
End With
End Sub

It needs to be reset each time you open the workbook. (excel doesn't remember
it after closing the workbook.)

If you're new to macros, you may want to read David McRitchie's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm'

Dave Peterson

unread,
Apr 12, 2005, 10:39:19 PM4/12/05
to
You can actually protect the project from most people.

Next time you're in the VBE, select that project.
Then Tools|VBAProject Properties|Protection Tab

But this protection can be broken in a matter of seconds--if the user knows how.

But it does keep most out.

--

Dave Peterson

Joel

unread,
Nov 8, 2005, 2:01:03 PM11/8/05
to
I have the same problem like Robert, but I seem not to understand the
instructions that you gave Robert. I’m not familiar with macro. Is there away
it could be done directly with excel or do I have to learn macro.

Ivan

unread,
May 13, 2010, 2:44:02 AM5/13/10
to
I'm running on Excel 2007 and I need to enable the end users to
expand/collapse columns in a protected sheet

Instead of adding VBA language and buttons to run the script backend to
ungroup/group columns, is there any other ways in Excel that will facilitate
the same process?

Any feedback will be greatly appreciated

joany.h...@gmail.com

unread,
Nov 24, 2015, 10:51:21 AM11/24/15
to
What do you mean by (auto_open/workbook_open??)

GS

unread,
Nov 24, 2015, 12:08:22 PM11/24/15
to
> What do you mean by (auto_open/workbook_open??)

Workbook_Open is an Application 'event'.
May not always work, especially if the file is corrupt, because the
Application controls its functionality! The Application usually
disables events in corrupt files as well as for any other reason it
deems fit to do so during runtime.

Auto_Open is an AutoRunMacro 'procedure'.
This will pretty much always work even though it's also controlled by
the Application because procedures are managed differently than how
events are managed!

--
Garry

Free usenet access at http://www.eternal-september.org
Classic VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
0 new messages