Попробуйте вместо этого использовать метод UserPicture: кажется, что он работает (Excel 2003, не тестировался в других версиях).
Из справки Excel VBA
Метод UserPicture См. Также раздел Применение метода ToExampleSpecificsUserPicture применительно кобъект FillFormat.
Заполняет указанную фигуру изображением.
expression.UserPicture (PictureFile) expression Обязательное.Выражение, которое возвращает один из вышеуказанных объектов.
PictureFile Обязательная строка.Имя файла изображения.
Метод UserPicture применительно к объекту ChartFillFormat.
Заполняет указанную форму изображением.
expression.UserPicture (PictureFile, PictureFormat, PictureStackUnit, PicturePlacement) Требуется выражение.Выражение, которое возвращает один из вышеуказанных объектов.
Необязательный вариант PictureFile.
PictureFormat Обязательный XlChartPictureType.XlChartPictureType может быть одной из этих констант XlChartPictureType.xlStack xlStackScale xlStretch
XlChartPictureType может быть одной из этих констант XlChartPictureType.xlStack xlStackScale xlStretch
PictureStackUnit Обязательный Long.Стек рисунка или единица измерения масштаба (зависит от аргумента PictureFormat).
Требуется PicturePlacement XlChartPicturePlacement.
XlChartPicturePlacement может быть одной из этих констант XlChartPicturePlacement.xlAllFaces xlEnd xlEndSides
xlFront
xlFrontEnd
xlFrontSides
xlSides
Пример В этом примере задается формат заливки для диаграммы два.
Графики (2) .ChartArea.Fill.UserPicture "brick.gif"