Excel VBA Выгрузка выделенной области в виде jpg

создаем или открываем файл Excel
заходим в окно программирования Microsoft Visual Basic нажав Alt+F11
И вставляем данный код

Option Explicit
Sub RangeToJpg()
    ''' Указываем отмеченную область ячеек
    Dim rgExp As Range: Set rgExp = Selection
    ''' Копируем выделенную область как лист при печати за это у нас отвечает xlPrinter
    rgExp.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
    '''Преобразовываем скопированную область и указываем имя RangeToJpgEXPORT
    With ActiveSheet.ChartObjects.Add(Left:=rgExp.Left, Top:=rgExp.Top, _
    Width:=rgExp.Width, Height:=rgExp.Height)
    .Name = "RangeToJpgEXPORT"
    .Activate
    End With
    ''' Вставляем содержимое буфера в наш активный лист
    ActiveChart.Paste
    ''' Выгружаем вставленную картинку туда где находится наш файл xls с именем grafik.jpg
    ActiveSheet.ChartObjects("RangeToJpgEXPORT").Chart.Export ThisWorkbook.Path & "/grafik.jpg"
    ''' удаляем нашу картинку с активного листа
    ActiveSheet.ChartObjects("RangeToJpgEXPORT").Delete
 
End Sub