Hi:
Two easy things to do are
1) use FIRSTOBS= and OBS= to split up the data using TAGSETS.EXCELXP to create the multiple sheets (you could even "macroize" whether the data needed to be split up or not, but the program below shows a simple example, not a macroized one).
OR
2) use BY group processing to break the data into logical groups -- TAGSETS.EXCELXP will put every group into a separate sheet, by default. (of course, this assumes that no single by group is larger than the 65K limit)
cynthia
[pre]
**1) use FIRSTOBS= and OBS=;
ods tagsets.excelxp file='c:\temp\split_file.xls';
proc print data=sashelp.class(firstobs=1 obs=7);
run;
proc print data=sashelp.class(firstobs=8 obs=19);
run;
ods tagsets.excelxp close;
**2) Split into BY groups;
ods tagsets.excelxp file='c:\temp\split_by.xls';
proc print data=sashelp.shoes;
where region in ('Asia', 'Canada', 'Pacific');
by region;
var region subsidiary product sales;
run;
ods tagsets.excelxp close;
[/pre]