Option
Explicit
Private
Sub
Worksheet_Change(
ByVal
Target
As
Range)
Dim
objRange
As
Range
Set
objRange = Range(
"F11:G18,I10:K129"
)
If
Not
Intersect(Target, objRange)
Is
Nothing
Then
_
Call
ANITA(probjRange:=objRange, probjTarget:=Target)
Set
objRange =
Nothing
End
Sub
Private
Sub
ANITA(
ByRef
probjRange
As
Range,
ByRef
probjTarget
As
Range)
Dim
objCell
As
Range
If
Not
Intersect(probjTarget, probjRange.Areas(1))
Is
Nothing
Then
For
Each
objCell
In
probjRange.Areas(1)
If
Not
objCell.Value = vbNullString
Then
Exit
For
Next
If
Not
objCell
Is
Nothing
Then
Columns(
"A:L"
).EntireColumn.Hidden =
False
Columns(
"M:EG"
).EntireColumn.Hidden =
True
Columns(
"CH:EI"
).EntireColumn.Hidden =
False
ActiveWindow.FreezePanes =
False
Range(
"D10"
).
Select
ActiveWindow.FreezePanes =
True
Range(
"A10"
).
Select
Set
objCell =
Nothing
Else
Columns(
"A:H"
).EntireColumn.Hidden =
False
Columns(
"I:EG"
).EntireColumn.Hidden =
True
Columns(
"CH:EI"
).EntireColumn.Hidden =
False
End
If
End
If
If
Not
Intersect(probjTarget, probjRange.Areas(2))
Is
Nothing
Then
For
Each
objCell
In
probjRange.Areas(2)
If
Not
objCell.Value = vbNullString
Then
Exit
For
Next
If
Not
objCell
Is
Nothing
Then
Columns(
"A:P"
).EntireColumn.Hidden =
False
Columns(
"Q:CG"
).EntireColumn.Hidden =
True
Columns(
"CH:EI"
).EntireColumn.Hidden =
False
Set
objCell =
Nothing
Else
Columns(
"A:L"
).EntireColumn.Hidden =
False
Columns(
"M:EG"
).EntireColumn.Hidden =
True
Columns(
"CH:EI"
).EntireColumn.Hidden =
False
End
If
End
If
End
Sub