Here is a small macro to 'shape' a macro variable into a desired look.
You can modify it according to your needs.
%macro stringit(varlist, fun=, affix=);
%*utility to treat macro strings;
%*fun=1 --- quote string and separated by ,;
%*fun=101 --- single --quote string and separated by ,;
%*fun=2 --- quote string and separated by a space;
%*fun=3 --- add prefix ;
%*fun=4 --- add suffix ;
%*fun=5 --- rename list prefix;
%*fun=501 --- rename list suffix;
%*fun=6 --- pair list variable + variable prefix;
%*fun=7 --- take away first n chars from a string(length(each word)>n);
%*fun=8 --- keep first n chars from a string(length(each word)>n);
%local varlist2 n cur_var l l2;
%let n= %eval(%sysfunc(countc(%cmpres(&varlist),%str( )))+ (%length(&varlist)>0) );
%let varlist2=;
%if &fun=1 %then %do;
%do i = 1 %to &n;
%let cur_var="%scan(&varlist,&i)";
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2,&cur_var;
%end;
%end;
%else %if &fun=101 %then %do;
%do i = 1 %to &n;
%let cur_var=%str(%')%scan(&varlist,&i)%str(%');
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2,&cur_var;
%end;
%end;
%else %if &fun=2 %then %do;
%do i = 1 %to &n;
%let cur_var="%scan(&varlist,&i)";
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2 &cur_var;
%end;
%end;
%else %if &fun=3 %then %do;
%do i = 1 %to &n;
%let cur_var=&affix.%scan(&varlist,&i);
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2 &cur_var;
%end;
%end;
%else %if &fun=4 %then %do;
%do i = 1 %to &n;
%let cur_var=%scan(&varlist,&i)&affix;
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2 &cur_var;
%end;
%end;
%else %if &fun=5 %then %do;
%do i = 1 %to &n;
%let cur_var=%scan(&varlist,&i)=&affix.%scan(&varlist,&i);
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2 &cur_var;
%end;
%end;
%else %if &fun=501 %then %do;
%do i = 1 %to &n;
%let cur_var=%scan(&varlist,&i)=%scan(&varlist,&i)&affix;
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2 &cur_var;
%end;
%end;
%else %if &fun=6 %then %do;
%do i = 1 %to &n;
%let cur_var=%scan(&varlist,&i) &affix.%scan(&varlist,&i);
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2 &cur_var;
%end;
%end;
%else %if &fun=7 %then %do;
%do i = 1 %to &n;
%let l=%eval(&affix+1);
%let cur_var=%substr(%scan(&varlist,&i),&l);
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2 &cur_var;
%end;
%end;
%else %if &fun=8 %then %do;
%do i = 1 %to &n;
%let l=&affix;
%let cur_var=%scan(&varlist,&i);
%let l2=%length(&cur_var);
%let cur_var=%substr(&cur_var,1,%eval(&l2-&l));
%if &i=1 %then %let varlist2=&varlist2 &cur_var;
%else %let varlist2=&varlist2 &cur_var;
%end;
%end;
&varlist2
%mend;
%let VARS=
ABCD EFGH AAC BBD CCE
;
%put %quote(%stringit(&VARS, fun=1));
%put %quote(%stringit(&VARS, fun=101));
%put %quote(%stringit(&VARS, fun=2));
%put %quote(%stringit(&VARS, fun=3,affix=QQ_));
%put %quote(%stringit(&VARS, fun=4,affix=_QQ));
%put %quote(%stringit(&VARS, fun=5,affix=QQ));
%put %quote(%stringit(&VARS, fun=501,affix=QQ));
%put %quote(%stringit(&VARS, fun=6,affix=QQ));
%put %quote(%stringit(&VARS, fun=7,affix=2));
%put %quote(%stringit(&VARS, fun=8,affix=2));