应该是要这种效果吧:
libname myxls odbc
required="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
dbq=C:\multi_sheets.xlsx;ReadOnly=True";
proc sql noprint;
select memname into :tbl_names separated by '|' from sashelp.Vtable
where libname = 'MYXLS'
;quit;
%macro gentbls;
%let i=1;
%do %until (%scan(&tbl_names,&i.,|)=);
%let tbl = %scan(&tbl_names,&i.,|);
data _null_;
call symput('t',substr("&tbl.",1,length("&tbl.")-1));
run;
data &t.;set myxls."&tbl."n;run;
%let i = %eval(&i.+1);
%end;
%mend;
%gentbls;
libname myxls clear;