As an FYI, if you're doing this in VBA, then you would use code like:
Dim SortNum As Integer
SortNum = Application.GetCustomListNum(Array(35, 40, 38, 34))
Cells.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=SortNum + 1, MatchCase:=False
But that will only work if you want the custom list sorted as the 'primary sort' (first sort by range). If, as an example, you need your sheet sorted by columns B, then C, then A, but A is the one with the custom sort, then you could use code like:
Dim SortNum As Integer
SortNum = Application.GetCustomListNum(Array(35, 40, 38, 34))
Cells.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=SortNum + 1, MatchCase:=False
Cells.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2"), Order2:= _
xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False
It sorts the custom list first, then sorts the remainder using normal sorting. Since excel keeps the previous sort, this is the way to get around that.
Matt