1. The event handler has to be in the appropriate worksheet module
2. You were looking for a match with B4 and I think you wanted A4
3. Personally, I'd use the DoubleClick event since ChangeSelection has too many ways to go wrong IMO
If A1 is ActiveCell and you click B5, the interior changes. BUT if you click B5 again (without selecting another cell) to change it back, the event handler doesn't fire and the color remains
Try this
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox Target.Address
End Sub
(4. You spelt 'color' as 'colour' -- that'll mess you up every time 


)
Capture.JPG
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim targetCell As Range, baseCell As Range
Set targetCell = Target.Cells(1, 1)
If Intersect(Target, Range("B4:N9")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set targetCell = Target
Set baseCell = Cells(targetCell.Row, 1)
If targetCell.Interior.ColorIndex = baseCell.Interior.ColorIndex Then
targetCell.Interior.ColorIndex = xlColorIndexNone
Else
targetCell.Interior.ColorIndex = baseCell.Interior.ColorIndex
End If
Application.EnableEvents = True
End Sub