Старый вопрос, который я знаю, но решение исходит из того факта, что диаграмма, сгруппированная с другими фигурами, становится объектом формы на листе. Так что вам действительно нужно получить ссылку на объект формы, который является группой, которую вы создали.
Однако для фигур не существует метода экспорта, поэтому вам нужно создать временную пустую диаграмму, скопировать в нее фигуру, экспортировать новую диаграмму, а затем удалить ее.
Шаги:
Получите объект формы и скопируйте его как рисунок
set myshape = Sheet24.Shapes("shapename")
myshape.CopyPicture
Создайте новый chartobject с теми же размерами, что и исходная форма
set chtObj = Sheets24.ChartObjects.Add(myshape.Left, myshape.Top, myshape.Width, myshape.height)
Вставить объект из буфера обмена на новый график
chtObj.Chart.Paste
Экспорт диаграммы, удаление существующего файла при необходимости
Kill fullpathandfilename
chtObj.Chart.Export filename:=fullpathandfilename, Filtername:="PNG"
Затем удалите таблицу и очистите объекты.
chtObj.Delete
Set chtObj = nothing