First, unlock cells B7:B1000. You want the user to always be able to edit these.
Then protect the sheet. This will make sure that locked cells cannot be edited. (If the sheet isn't protected then having cells locked or not locked makes no difference.)
Then add this in the Sheet module:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
Application.EnableEvents = False 'prevent infinite event loops
Me.Unprotect ' else won't be able to modify locked cells
If Not Intersect(Target, Range("B7:B1000")) Is Nothing Then
'User edited a cell in this range.
With Range("F1:M1").Offset(Target.Row - 1, 0)
If Target.Value = "PP" Then
.Interior.Color = RGB(200, 200, 200) 'gray
.Locked = True
Else
.Interior.Color = RGB(255, 255, 255) 'white
.Locked = False
End If
End With
End If
ExitProcedure:
Me.Protect
Application.EnableEvents = True
Exit Sub
ErrorHandler:
MsgBox Err.Description
Resume ExitProcedure
End Sub