Without seeing the file i can think of one way that might work, you can detect if a file is ever changed in a given range if it is then set what rows or coloumns you want to hidden or not hidden.
The code below if you have the switch statement inside the If not intersect you should be able to achive this.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then
'this dectects if anything changed in a1-a1000
end if
'the switch can be used to determine what needs to be hidden or not
Select Case Range("A10")
Case "Item 1"
Range("11:40").EntireRow.Hidden = False
Range("41:1157").EntireRow.Hidden = True
Case "next item"
end Select
end Sub
Bookmarks