Export chart as image - with click of a button
Solution 1:
Is this what you are trying?
Also if you are trying to save it as jpg then why a png filter? I have changed "myChart.jpg" to "myChart.png". Change as applicable.
Sub ExportChart()
Dim objChrt As ChartObject
Dim myChart As Chart
Set objChrt = Sheets("Graphs").ChartObjects(3)
Set myChart = objChrt.Chart
myFileName = "myChart.png"
On Error Resume Next
Kill ThisWorkbook.Path & "\" & myFileName
On Error GoTo 0
myChart.Export Filename:=ThisWorkbook.Path & "\" & myFileName, Filtername:="PNG"
MsgBox "OK"
End Sub
Solution 2:
Thanks, I needed this to extract all charts in an image and it's almost midnight. Minor changes to the code above did the trick.
Sub ExportChart()
Dim WS As Excel.Worksheet
Dim SaveToDirectory As String
Dim objChrt As ChartObject
Dim myChart As Chart
SaveToDirectory = ActiveWorkbook.Path & "\"
For Each WS In ActiveWorkbook.Worksheets
WS.Activate 'go there
For Each objChrt In WS.ChartObjects
objChrt.Activate
Set myChart = objChrt.Chart
myFileName = SaveToDirectory & WS.Name & "_" & objChrt.Index & ".png"
On Error Resume Next
Kill SaveToDirectory & WS.Name & Index & ".png"
On Error GoTo 0
myChart.Export Filename:=myFileName, Filtername:="PNG"
Next
Next
MsgBox "OK"
End Sub