Best practice when code generates errors is to include the LOG with the code and error, warning or other messages of concern. Copy the text from the log, on the forum open a text box window using the </> icon above the main message window and paste the code and messages. The text box is important because the forum software will refomat text pasted into the main message window resulting in some of the diagnostic information that SAS often supplies.
As a minimum your code should also include a TYPE variable to tell SAS whether the valus in the START variable are numeric or character and display or input. A type of N (character value of the variable type) means Start is supposed to be numeric and is a display format, Type of C means start is Character and is a display format, Type of I (upper case i) is informat for numeric values, type of J is informat for character values, Type P means a PICTURE format.
If your data contains "A1" and "a1" for the variable and want them both to display the same label text then you want both values in the START.
Because you IMPORT the data from Excel you may have issues of same value, i.e. "A1" with multiple values of the label cause by capitalization differences or white space in values (different numbers of spaces can be hard to see) or leading spaces. SAS doesn't like that for formats or informats and will show errors of duplicated ranges.
Suggestion: Write a small, as in two or there value/invalue statements as normal proc format code and use the CNTLOUT option to write a data set of those. That will show values for the variables needed in the data set.
You may want to consider adding and Other = error option to the above example trial code if creating an INFORMAT. The Other option, which would go into a variable named HLO, coupled with the error option means that use of the format with unknown or unexpected values tells you that such a value was encountered in the log with an invalid data message.
... View more