Ok, esta es mi propuesta: Dentro del editor de visual basic dale doble click en el explorador de la izquierda al objeto hoja llamado CPDs. Se abrirá un espacio blanco a la derecha donde tienes que copiar esta macro:
Esta macro es un evento, es decir, se autoejecuta dependiendo de nuestras ordenes. En este caso la macro está vigilando lo que el usuario teclea en la columna L y en la columna N. Si no escribe lo que debe la macro le impedirá seguir borrando el dato erróneo. Solo le dejará escribir lo permitido para cada columna. No necesitamos lista de validaciones, con esta macro no hay escapatoria para el usuario.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 14 Then
VALOR = UCase(Target.Value)
If VALOR <> "SI" And VALOR <> "NO" Then
Target.Select
Target.ClearContents
Exit Sub
End If
End If
'++++++++++++++++++++++++++++++++++++++++++++++
If Target.Column = 12 Then
VALOR2 = UCase(Target.Value)
If VALOR2 <> "ORIENTE" And VALOR2 <> "OCCIDENTE" And VALOR2 <> "COSTA" Then
Target.Select
Target.ClearContents
Exit Sub
End If
End If
End Sub
Recuerda finalizar y puntuar