PRINT FNrangeexpand("-6,-3--1,3-5,7-11,14,15,17-20") END DEF FNrangeexpand(r$) LOCAL i%, j%, k%, t$ REPEAT i% = INSTR(r$, "-", i%+1) IF i% THEN j% = i% WHILE MID$(r$,j%-1,1)<>"," AND j%<>1 j% -= 1 ENDWHILE IF i%>j% IF MID$(r$,j%,i%-j%)<>STRING$(i%-j%," ") THEN t$ = "" FOR k% = VALMID$(r$,j%) TO VALMID$(r$,i%+1)-1 t$ += STR$(k%) + "," NEXT r$ = LEFT$(r$,j%-1) + t$ + MID$(r$,i%+1) i% = j% + LEN(t$) + 2 ENDIF ENDIF UNTIL i% = 0 = r$