Option
Explicit
Private
Sub
Worksheet_Change(
ByVal
Target
As
Range)
Dim
Arr(), c, x, y
If
Intersect(Range(
"I14:I50"
), Target)
Is
Nothing
Then
Exit
Sub
Arr = Array(
"EMZ"
,
"EMZF"
,
"HAZ"
)
For
Each
c
In
Target.Cells
y = 0
For
x = 0
To
2
If
Not
Range(
"I14:I50"
).Find(Arr(x), , xlValues, xlWhole)
Is
Nothing
Then
_
y = y + (x + 2)
Next
x
Application.ScreenUpdating =
False
Columns(
"P:AG"
).Hidden =
False
Select
Case
y
Case
0
Columns(
"P:AG"
).Hidden =
True
Case
2
Columns(
"V:AG"
).Hidden =
True
Case
3
Columns(
"P:U"
).Hidden =
True
Columns(
"AD:AG"
).Hidden =
True
Case
4
Columns(
"P:AC"
).Hidden =
True
Case
5
Columns(
"AD:AG"
).Hidden =
True
Case
6
Columns(
"P:U"
).Hidden =
True
Case
7
Columns(
"V:AC"
).Hidden =
True
End
Select
Next
c
Application.ScreenUpdating =
True
End
Sub