Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
I have a sheet that hides groups of rows based on a cell's information.
I'd prefer this to happen automatically through VBA, but currently I'm stuck using a Toggle Button to hide/unhide these rows. The problem I run into though is that that toggle button works brilliantly until I turn on the page protection. Once I turn on the protection I keep getting errors that the page is protected and can't be updated. And due to the fact that the people who will be using this know absolutely no Excel at all and break formulas on the old sheet regularly... well, the sheet has to be write-protected. The code I'm currently using is this: Sub DENYPASS() Application.ScreenUpdating = False Application.EnableEvents = False If Range("B2") = 1 Then Rows("11:41").EntireRow.Hidden = True Rows("42:72").EntireRow.Hidden = False Else Rows("11:41").EntireRow.Hidden = False Rows("42:72").EntireRow.Hidden = True End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub with a private sub to connect it to the Toggle Button Private Sub passdeny_Click() DENYPASS End Sub |
#2
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Protect your sheet using VBA, and include the parameter
UserInterfaceOnly:=True Sheets("Sheet1").Protect UserInterfaceOnly:=True This protects the sheet but astill llows macros to manipulate it. Hope this helps, Hutch " wrote: I have a sheet that hides groups of rows based on a cell's information. I'd prefer this to happen automatically through VBA, but currently I'm stuck using a Toggle Button to hide/unhide these rows. The problem I run into though is that that toggle button works brilliantly until I turn on the page protection. Once I turn on the protection I keep getting errors that the page is protected and can't be updated. And due to the fact that the people who will be using this know absolutely no Excel at all and break formulas on the old sheet regularly... well, the sheet has to be write-protected. The code I'm currently using is this: Sub DENYPASS() Application.ScreenUpdating = False Application.EnableEvents = False If Range("B2") = 1 Then Rows("11:41").EntireRow.Hidden = True Rows("42:72").EntireRow.Hidden = False Else Rows("11:41").EntireRow.Hidden = False Rows("42:72").EntireRow.Hidden = True End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub with a private sub to connect it to the Toggle Button Private Sub passdeny_Click() DENYPASS End Sub |
#3
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
So something like this?
Sub ProtectTCR() Sheets("TCR").Protect password:="TCR", UserInterfaceOnly:=True End Sub If this is correct, then how do I enable it? I've placed it in the VBA Object for this sheet. Does it need to be in the "ThisWorkbook" instead? Or in a module? Tom Hutchins wrote: Protect your sheet using VBA, and include the parameter UserInterfaceOnly:=True Sheets("Sheet1").Protect UserInterfaceOnly:=True This protects the sheet but astill llows macros to manipulate it. Hope this helps, Hutch " wrote: I have a sheet that hides groups of rows based on a cell's information. I'd prefer this to happen automatically through VBA, but currently I'm stuck using a Toggle Button to hide/unhide these rows. The problem I run into though is that that toggle button works brilliantly until I turn on the page protection. Once I turn on the protection I keep getting errors that the page is protected and can't be updated. And due to the fact that the people who will be using this know absolutely no Excel at all and break formulas on the old sheet regularly... well, the sheet has to be write-protected. The code I'm currently using is this: Sub DENYPASS() Application.ScreenUpdating = False Application.EnableEvents = False If Range("B2") = 1 Then Rows("11:41").EntireRow.Hidden = True Rows("42:72").EntireRow.Hidden = False Else Rows("11:41").EntireRow.Hidden = False Rows("42:72").EntireRow.Hidden = True End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub with a private sub to connect it to the Toggle Button Private Sub passdeny_Click() DENYPASS End Sub |
#4
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
You run it like any other macro. The module for that sheet, the ThisWorkbook
module, or a VBA module will all work. From Excel, select Tools Macro Macros. Select ProtectTCR and click Run. To protect the sheet automatically when the workbook is opened, place the Protect statement in a Workbook_Open event (in the ThisWorkbook module). Regards, Hutch " wrote: So something like this? Sub ProtectTCR() Sheets("TCR").Protect password:="TCR", UserInterfaceOnly:=True End Sub If this is correct, then how do I enable it? I've placed it in the VBA Object for this sheet. Does it need to be in the "ThisWorkbook" instead? Or in a module? Tom Hutchins wrote: Protect your sheet using VBA, and include the parameter UserInterfaceOnly:=True Sheets("Sheet1").Protect UserInterfaceOnly:=True This protects the sheet but astill llows macros to manipulate it. Hope this helps, Hutch " wrote: I have a sheet that hides groups of rows based on a cell's information. I'd prefer this to happen automatically through VBA, but currently I'm stuck using a Toggle Button to hide/unhide these rows. The problem I run into though is that that toggle button works brilliantly until I turn on the page protection. Once I turn on the protection I keep getting errors that the page is protected and can't be updated. And due to the fact that the people who will be using this know absolutely no Excel at all and break formulas on the old sheet regularly... well, the sheet has to be write-protected. The code I'm currently using is this: Sub DENYPASS() Application.ScreenUpdating = False Application.EnableEvents = False If Range("B2") = 1 Then Rows("11:41").EntireRow.Hidden = True Rows("42:72").EntireRow.Hidden = False Else Rows("11:41").EntireRow.Hidden = False Rows("42:72").EntireRow.Hidden = True End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub with a private sub to connect it to the Toggle Button Private Sub passdeny_Click() DENYPASS End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How to code Macro for hiding rows | Excel Worksheet Functions | |||
How can you get different rows to repeat on each page | Excel Discussion (Misc queries) | |||
2 questions one on list/combo boxes and the other on "atomically" hiding columns or rows. | New Users to Excel | |||
GET UNIQUE ROWS FROM ONE PAGE TO ANOTHER | Excel Discussion (Misc queries) | |||
make first few rows print on every page? | New Users to Excel |