Paste Chart as Picture on worksheet

In Windows and on a Mac you can use this to make a picture of the active chart and paste it on the sheet

If you use the same code on a Mac it is possible if you have an older version of Excel it will paste the chart and not a picture of it. You can use the commented code below to avoid this problem if you have this problem, and it will work in Windows also.

If you have this problem replace
ActiveSheet.PasteSpecial Format:="Picture", Link:=False

Sub MakePictureChart()
'Working in Windows and on a Mac
'It will paste the picture almost on top of the active chart
Dim TheChart As Chart

If ActiveChart Is Nothing Then
MsgBox "Select a chart first please.", vbInformation, "Make Picture of Chart"
Exit Sub
End If

Set TheChart = ActiveChart
TheChart.CopyPicture Appearance:=xlPrinter, Size:=xlScreen, Format:=xlPicture

'If you see that it will save as chart instead of a picture use this instead of ActiveSheet.Paste
'ActiveSheet.PasteSpecial Format:="Picture", Link:=False

With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
.Left = TheChart.Parent.Left + 30
.Top = TheChart.Parent.Top + 30
End With
End Sub
Web design by Will Woodgate