iRoss2007 发表于 2012-3-24 16:11 
嗯,priss111提出的解决方法的确可以,但如果我的循环下标是不规则的,不包含数字的字符,比如f,i,o,p这 ...
There are many ways. Here is an example to illustrate the idea.
950  %macro loop(varlist=);
1951  %let n= %eval(%sysfunc(countc(%cmpres(&varlist),%str( )))+ (%length(&varlist)>0) );
1952
1953  %do i = 1 %to &n;
1954       %let cur_var=%scan(&varlist,&i);
1955       %put >>>&i &cur_var<<<;
1956
1957   %end;
1958
1959  %mend;
1960
1961  %loop(varlist=a b E f G)
>>>1 a<<<
>>>2 b<<<
>>>3 E<<<
>>>4 f<<<
>>>5 G<<<