Something like this should work if I understand the problem correctly (10 lacs 50 thousand or 1 million 50 thousand rows [the actual limit in excel 2007 to 2010 I believe is 1,048,576 rows]), and this is for separate workbooks instead of worksheets but it could do either with some adjustment: options mprint mlogic symbolgen; %macro split(name,path); Data _null_; dsid = open("&name"); n = attrn(dsid,'nobs'); call symput('n',n); run; %put &n; %do int = 1 %to &n %by 1000; libname out excel "&path.\Out_&int..xlsx"; data _null_; obs = &int + 1000; call symput('obs',obs); run; %put &obs; data out.OUT∫ set &name (firstobs=&int obs=&obs); run; libname out clear; %end; %mend split; %split(temp,/*insert Path here*/);
... View more