I added CODE tags to your macro above. My sig has instructions and a link to our FAQs. Take a minute are read through
Not tested, but something like this might work. It's in the QC worksheet code module
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B4:B499")) Is Nothing Then Exit Sub
Application.EnableEvents = False ' <<<<<<<<<< don't want to keep triggering this event
Select Case Target.Cells(1, 1).Value
Case "PCNLK"
Call PCNLK
Case "PNP"
Call PNP
Case "ONP"
Call ONP
Case "ODkNLK"
Call ODkNLK
Case "ODkP"
Call ODkP
Case "ONNLK"
Call ONNLK
Case "PCP"
Call PCP
Case "PDkNLK"
Call PDkNLK
Case "PDkP"
Call PDkP
Case "PNNLK"
Call PNNLK
End Select
Application.EnableEvents = True
End Sub