Hi:
I find that if I remove the dollar21.2 from the SAS end and ONLY have the Excel format, that in SAS 9.2 and Excel 2007 and tagset version v1.94, that the negative numbers -are- numeric fields in Excel. This means that any SAS output will not have $$, but if you are only using Excel, this should not be an issue.
cynthia
[pre]
data test;
set sashelp.class;
glrecovery = height *weight*age;
if sex = 'F' then glrecovery = glrecovery * -1;
run;
ods html file='c:\temp\testneg.html' style=sasweb;
ods tagsets.excelxp file='c:\temp\testneg.xls' style=sasweb;
proc tabulate data=test;
class age sex;
var glrecovery;
table sex*age,
glrecovery =''*sum='Recovery $' *f=best21.2*[style=[tagattr="format:$###,###,## ; $-###,###,##"]];
run;
ods _all_ close;
[/pre]