Hi:
If you change sheet_interval='none' to sheet_interval='table', then the embed_titles_once works as advertised. My guess is there's some interaction between embed_titles_once and sheet_interval='none' -- what happens is that ODS builds all of the first table and then builds all of the second table and then puts the 2 tables together in 1 bigger table. Part of that building the tables before putting them together must include the title. You'd have to work with Tech Support for a definitive explanation.
For the 2 PROC REPORT scenario, you can get rid of the title on the second output, by simply issuing a NULL TITLE statement as shown in the (simplified) code below.
cynthia
[pre]
ods tagsets.ExcelXP file="c:\temp\sample_report_v7_sql.xls" style=sasweb
options(embedded_titles='yes' EMBED_TITLES_ONCE='yes' sheet_name='Something' sheet_interval='none');
proc report data=sashelp.class nowd;
title 'My Sheet title';
where sex = 'F';
run;
title; /* reset title statement */
proc report data=sashelp.class nowd;
where sex = 'M';
run;
ods tagsets.Excelxp options(sheet_interval='table');
title 'A Sheet for Every Age';
proc report data=sashelp.class nowd;
column age name sex height weight;
define age / order;
break after age / page;
run;
ods _all_ close;
[/pre]