Private
Sub
Worksheet_SelectionChange(
ByVal
Target
As
Range)
Static
rngReset
As
Collection
Dim
rng
As
Range
Dim
Info
As
Collection
Dim
lngInfo
As
Long
If
Not
rngReset
Is
Nothing
Then
If
rngReset.Count > 0
Then
For
lngInfo = 1
To
rngReset.Count
Set
Info = rngReset.Item(lngInfo)
Target.Worksheet.Range(Info.Item(1)).Interior.ThemeColor = Info.Item(2)
Next
End
If
End
If
If
Target.Rows.Count > 1
And
Target.Columns.Count > 1
Then
Set
rngReset =
New
Collection
For
Each
rng
In
Union(Target.Rows(1), Target.Columns(1)).Cells
Set
Info =
New
Collection
Info.Add rng.AddressLocal
Info.Add rng.Interior.ThemeColor
rngReset.Add Info
Next
Target.Rows(1).Interior.ThemeColor = xlThemeColorDark2
Target.Columns(1).Interior.ThemeColor = xlThemeColorDark2
Set
rng = Target
Else
Set
rngReset =
Nothing
End
If
End
Sub