BookmarkSubscribeRSS Feed
Parashar
Calcite | Level 5
I have to extract data from excel sheets iif I use this procedure it works fine
but I have to create a mackro for this so that I can extract data from diffrent sheets and need not copy paiste all code again and again but when I execute macro it produces the same output data set with new name which I have given. plz help me with this urgently. Thanks in advance.

PROC IMPORT OUT=S11515
DATAFILE="G:\sa sas BI\sd\Complete Spreadsheet 10 Asthma patients.xls"
DBMS=EXCEL2000 REPLACE;
SHEET="'Subject Demo$'";
GETNAMES=YES;
RANGE='a2:f32';
MIXED=YES;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;

RUN;

options mprint mlogic symbolgen serror merror;
%let ss="G:\sa sas BI\sd\Complete Spreadsheet 10 Asthma patients.xls";
%macro datain(sht,rng);
PROC IMPORT OUT=h11
DATAFILE=&ss
DBMS=EXCEL2000 REPLACE;
SHEET="'&sht$'";
GETNAMES=YES;
RANGE='&rng';
MIXED=YES;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
RUN;
%mend;

%datain(History,A2:O22);
1 REPLY 1
deleted_user
Not applicable
Hello Parashar,

You enclosed the range between single quotes. If you proceed this way, the range variable will not be resolved. You have to enclose the range between double quotes.

Does it solve the problem?

Yoba

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 774 views
  • 0 likes
  • 2 in conversation