Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
2003/2007
How can I keep the Var "OrigRows" available from Private Sub Worksheet_Activate() thru to Sub Worksheet_Change(ByVal Target As Range) see below. If not, how can I best execute the "If" clause only when the worksheet change event in an add-to-rows? ******************** Private Sub Worksheet_Activate() OrigRows = Sheets("Trial Balance Current").UsedRange.Rows.Count End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Sheets("Trial Balance Current").Rows.Count OrigRows Then Dim myRange As Range ActiveSheet.Unprotect Password:="calldennis" Set myRange = Intersect(ActiveSheet.UsedRange, Selection) Selection.Locked = False Selection.FormulaHidden = False ActiveSheet.Protect Password:="calldennis", DrawingObjects:=False, Contents:=True, _ Scenarios:=False, AllowFormattingCells:=True, AllowFormattingRows:=True, _ AllowInsertingRows:=True, AllowSorting:=True, AllowFiltering:=True, _ AllowUsingPivotTables:=True End If *************** TIA EagleOne |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I think i got your thought, thanks!
smartin wrote: wrote: 2003/2007 How can I keep the Var "OrigRows" available from Private Sub Worksheet_Activate() thru to Sub Worksheet_Change(ByVal Target As Range) see below. If not, how can I best execute the "If" clause only when the worksheet change event in an add-to-rows? ******************** Private Sub Worksheet_Activate() OrigRows = Sheets("Trial Balance Current").UsedRange.Rows.Count End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Sheets("Trial Balance Current").Rows.Count OrigRows Then Dim myRange As Range ActiveSheet.Unprotect Password:="calldennis" Set myRange = Intersect(ActiveSheet.UsedRange, Selection) Selection.Locked = False Selection.FormulaHidden = False ActiveSheet.Protect Password:="calldennis", DrawingObjects:=False, Contents:=True, _ Scenarios:=False, AllowFormattingCells:=True, AllowFormattingRows:=True, _ AllowInsertingRows:=True, AllowSorting:=True, AllowFiltering:=True, _ AllowUsingPivotTables:=True End If *************** TIA EagleOne I think you might want to declare OrigRows as a global. Also, if you expect this to remain static through the life of the workbook you will need to make sure it is not overwritten on each _Activate event. This can be done with some code in said procedure with a global or static variable to hold the state of whether OrigRows has been updated. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Call a Private Sub using a variable | Excel Programming | |||
private variable: same module, other Sub/Function | Excel Programming | |||
Initialize a Private variable | Excel Programming | |||
Life of a variable | Excel Programming | |||
Variable life | Excel Programming |