У меня есть лист Excel с несколькими диаграммами и изображениями, который используется в качестве панели мониторинга. Мне нужно сохранить содержимое области в виде изображения. Я нашел этот код, чтобы сохранить область как изображение:
Set sht = ActiveWorkbook.Sheets("Graphical Dashboard")
Set strRng = sht.Range("I1:AC124") ' range to be copied
strRng.CopyPicture xlScreen, xlPicture
lWidth = strRng.Width
lHeight = strRng.Height
Set Cht = sht.ChartObjects.Add(Left:=0, Top:=0, Width:=lWidth, Height:=lHeight)
Cht.Activate
Set oCht = Charts.Add
With oCht
.Paste
.Export Filename:=ThisWorkbook.Path & "\SavedRange.jpg", Filtername:="JPG"
End With
Cht.Delete
Но проблема в том, что, хотя он сохраняет изображение, соответствующее области выбранного диапазона, изображение пусто . Кроме того, он добавляет еще один лист с именем «Диаграмма» и вставляет пустое изображение на лист.