This line at the end would definitely cause the results you are observing:
%macro CI95(Prev_20, CI_L_20, Den_20, _20, CI_H_20);
That's not the way to call your macro. Instead, use:
%CI95(Prev_20, CI_L_20, Den_20, _20, CI_H_20);
You might need to do this in a new program (or in a new SAS session). The code you posted defines the macro, then starts to define it again but never completes the definition. As shown above, calling an already-defined macro looks a little bit different.
Since the macro never ran, we don't know whether it contains any errors that will show up once you run it.
... View more