Hello For example I have this Macro: %macro Excel(type=,row=,column=,data=); %if type=excel %then %do; data _null_; file "C:\temp\excel.vbs"; %end; %if type=setcell %then %do; put "XL.Cell(&row, &column).Value = ""&data"" "; %end; %if type=create %then %do; run; x "C:\temp\excel.vbs"; %end; %mend; Then i do something like this: %Excel(type=excel); %Excel(type=setcell, row=1, column=1, data=Test); %Excel(type=create); This is just example, my macro is much more bigger and works like this. But now I'd like to set some cells with data from within a Data-Set.. Then I made myself a temporary close call and open call (with append) (Cause otherwise he repeats the puts from above) %if type=savetemp %then run; %if type=opentemp %then %do; data _null_; file "C:\temp\excel.vbs" mod; %end; Then in my normal code I do it like this: %Excel(type=savetemp); %Excel(type=opentemp); set MyDataSet; retain row 2; row=row+1; %Excel(type=setcell, row=row, column=1, data=MyVariable); %Excel(type=create); This works but it sets ALL put's to the same values. So all row's will be set to the last.. Then I tried to do it with a call execute, then I get a Error put => "Statement is not valid or it is used out of proper order", I think cause it's not getting executed within the data step. Any Ideas?
... View more