Hi, Thanks so much for your reply. Below is the code I am using. I am not using EG just SAS :-). OPTIONSNOFMTERR NOCENTERDATE MPRINT MLOGICSYMBOLGEN; /*CREATE EXCEL WORKBOOK FOR ALL DATASETS*/ %MACRO LIBDATA; /* Create Libraries */ LIBNAME CONV "D:\Program\DataTransfers\sd2"; /* Get contents for data sets (from one of the libraries), save result in an output data set */ PROC CONTENTS DATA=CONV._ALL_ MEMTYPE=data OUT=OUT NOPRINT; RUN; /* Sort prior to selecting unique data set names */ PROC SORT DATA=OUT; BY MEMNAME VARNUM; RUN; /* Select unique data set names, remove unneeded datasets */ DATA A; SET OUT; BY MEMNAME VARNUM; /* Each variable in a data set produces an observation in the output data set, remove the duplicate MEMNAMEs. */ IF FIRST.MEMNAME; RUN; /* Create data set names as macro variables & get total number of data sets */ DATA _NULL_; SET A END=LAST; BY MEMNAME VARNUM; /* Create a macro variable DS1 with the value of MEMNAME */ CALL SYMPUT('DS'||LEFT(_N_),TRIM(MEMNAME)); /* Create a macro variable for the total # of datasets */ IF LAST THEN CALL SYMPUT('TOTAL',LEFT(_N_)); RUN; ods _all_ close; ods tagsets.excelxp path='D:\program\DataTransfers\xls' file='SASDATA_02DEC2013.xml' style= Printer; %DO i=1 %TO &total; ods tagsets.ExcelXP options(Doc = 'Help' sheet_name="&&DS&I" width_fudge='0.50''landscape' row_repeat='1-2'); proc print data=conv.&&DS&I label noobs; run; quit; %END; Ods tagsets.excelxp close; %MEND LIBDATA; /* Call the macro */ %LIBDATA;
... View more