Después de mucho buscar y adaptar pedazos de código encontré la manera de hacerlo, guardando la imagen temporalmente y después eliminándola, esto es para salir de la apuración, pero si alguien sabe cómo hacerlo directo del Timage agradecería que me dijeran.
Este es el código.
Variable
rutaImagen : String;
picture: OleVariant;
uses
pngimage, ExcelXP,
Código Delphi
[-]
Hoja.Range['H1','H5'].MergeCells := true;
if not DirectoryExists('C:\Ima\') then CreateDir('C:\Ima\');
barr.Picture.SaveToFile('C:\Ima\barra.png');
rutaImagen := 'C:\Ima\barra.png';
picture := Excel.ActiveSheet;
picture := Hoja.shapes.addpicture(rutaImagen, 0, 1, Hoja.Range['H1','H1'].Left+3, Hoja.Range['H1','H1'].Top+3, 50, 50);
picture.Placement:= xlMoveAndSize; DeleteFile('C:\Ima\barra.png');