That is strange but thanks cause I am using this as well and at some stage am going to get an error. I will have to check why I do not. I think that I have made a mistake in copying the code for you as I took out bits in and around this.
in any case I you do not need the select. This below is enough to get the chart copied. Where Sheet 2 is the name of your sheet and Chart 1 is the name of your chart.
Application.Worksheets("Sheet2").ChartObjects("Chart 1").Chart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture
You can now shorten this based on what objects you have inialized.