I have a dropdown and when a user selects an option from this it returns a different value (dropdown is full name, returned value is abbreviation) this all works with the code i currently have which is

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

OriginatorCode = Target.Value
If Target.Column = 37 Then
OriginatorCode = Application.VLookup(OriginatorCode, Worksheets("Pick Lists").Range("OriginatorCode"), 2, False)
If Not IsError(OriginatorCode) Then
Target.Value = OriginatorCode

End If
End If

My problem is if a user tries to drag/double click and fill cells down or goes to edit at a later date it overwrites the original input with #N/A

How can i get around this issue?

Happy to do this via a button to update the cells rather than via selection change