|A few suggestions...|
1 - Format the cells as text before you enter Dec-1
2 - Use an apostrophe which forces Excel to read the data as text
3 - Use a formula in another cell:
The result will be treated as text.
4 - Use a WorksheetChange macro. This code will monitor Column A and if a date is entered, it will reformat it to what you want it to look like and leave it as text.
Private Sub Worksheet_Change(ByVal Target As Range)
'Disable event so this code doesn't
'fire when it changes the cell
Application.EnableEvents = False
'Was the change made to Column A?
If Target.Column = 1 Then
'If yes, was the entry a Date?
If IsDate(Target) Then
'If yes, the format the date and store it ina variable
myPN = _
Format(Range(Target.Address), "mmm") _
& "-" & Day(Target)
'Set the cell format to text
Range(Target.Address).NumberFormat = "@"
'Put the reformatted date back into the cell
Range(Target.Address) = myPN
'Enable Events for next time.
Application.EnableEvents = True