У меня есть рабочая тетрадь с различными диапазонами данных с 77 строками и более. Мне нужно скопировать их и сохранить в виде файлов JPG, которые будут использоваться другим приложением.
Ниже приведен пример кода, который я использую для этого. Он отлично работает для диапазонов до 68 строк, но для диапазонов с более чем этим, файл показывает высоту диапазона до 1360 пикселей, а остальная часть (нижняя часть) - белая.
Sub Create_jpg() Dim MyPath As String Dim rgExp As Range
MyPath = ThisWorkbook.Path & "\ScorecardJPEGs\"
Sheets("LocalMetrics").Select
Set rgExp = Range("A1:AL77")
rgExp.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
With ActiveSheet.ChartObjects.Add(Left:=rgExp.Left, Top:=rgExp.Top, _
Width:=(rgExp.Width - 10), Height:=(rgExp.Height - 5))
.Name = "ChartTempEXPORT"
.Activate
End With
ActiveChart.Paste
ActiveSheet.ChartObjects("ChartTempEXPORT").Chart.Export FileName:=MyPath & "Scorecard.jpg", _
Filtername:="jpg"
ActiveSheet.ChartObjects("ChartTempEXPORT").Delete
End Sub
Я проверил, что создание диаграммы и вставка выглядят хорошо, так как я удалил строку кода, которая удаляет диаграмму в конце, и, очевидно, изображение на диаграмме было в порядке. Но когда файл создан, нижняя часть картинки просто исчезла, и там есть пробел. Это случилось со всеми диапазонами со многими рядами.