Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
Dim xR As Range, xA As Range
If .Columns.Count = Columns.CountLarge Then Exit Sub
If .Count > 1 Or .Column = 1 Then Exit Sub
Set xR = .Cells: Set xA = Range([B1], Cells(1, Columns.Count)).EntireColumn
With Intersect(ActiveSheet.UsedRange, xA)
.Interior.ColorIndex = xlNone
Intersect(xR.EntireRow, .Cells).Interior.ColorIndex = 6
Intersect(xR.EntireColumn, .Cells).Interior.ColorIndex = 6
End With
.Interior.ColorIndex = 4
End With
End Sub