Experimente este formato
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Const MIN_ROW = 4 'Column Header (Status) is on row 4
Const COL_L = 12
If Target.CountLarge = 1 Then 'If a single cell is selected
If Target.Column = COL_L Then 'If selected cell is in col L
If Target.Row > MIN_ROW Then 'If selected cell row is 5 or higher
With Me
Dim lr As Long, arr As Variant, i As Long
lr = .Cells(Rows.Count, COL_L).End(xlUp).Row 'Last used row in col L
If lr > MIN_ROW Then
arr = .Range(.Cells(MIN_ROW + 1, COL_L), .Cells(lr, COL_L))
For i = 1 To UBound(arr)
Select Case UCase(arr(i, 1))
Case Is = "Y": arr(i, 1) = "N"
Case Is = "N": arr(i, 1) = "L"
Case Is = "L": arr(i, 1) = "G"
Case Is = "G": arr(i, 1) = "Y"
End Select
Next
.Range(.Cells(MIN_ROW + 1, COL_L), .Cells(lr, COL_L)) = arr
End If
End With
End If
End If
End If
End Sub