David is correct that this is not something that TABULATE does. You might approximate what you want to do with PROC REPORT. In this program, differing formats are applied based on the "row" variable for DIVISION using a CALL DEFINE in a COMPUTE block:[pre]
value CON 0-< 50000 = 'yellow'
50000-high = 'pink';
value EDU 0-< 70000 = 'beige'
70000-high = 'cyan';
ods html file='c:\temp\rep_hilite.html'
proc report data=sashelp.prdsale nowd;
column country division prodtype,actual;
define country /group noprint;
define prodtype / across;
define actual / sum 'Sales';
if division = 'CONSUMER' then do;
if division = 'EDUCATION' then do;
ods html close;
Although there is a bit of brute force programming in that the format is not automatically set, but has to be done inside the CALL DEFINE, this may provide you something close to what you want.
The solution could be adapted to use macro variables, macro do loops or arrays if you have a lot of across variables. I show the "hard-coded" method because I only have 2 across variables.