title: Copying Multiple Charts as a Picture in Excel 2007 gives Application-defined error
body: <p><strong>Introduction</strong></p>
  
  <p>I can't seem to get the the ChartObjects.CopyPicture method to work in Excel 2007.  No matter what I try I get an error.</p>
  
  <p>Using this technique throws an 'Application-defined or object-defined error' on the CopyPicture line.</p>
  
  <pre><code>ActiveSheet.ChartObjects.CopyPicture Appearance:=xlScreen, Format:=xlPicture
  Sheets("Sheet2").Paste
  </code></pre>
  
  <p>This method throws as 'PasteSpecial method of Worksheet class failed' on the PasteSpecial line</p>
  
  <pre><code>ActiveSheet.ChartObjects.Copy    
  Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False
  </code></pre>
  
  <p>However,  If I use the chart as a Shape object it works.</p>
  
  <pre><code>ActiveSheet.Shapes("Chart 6").CopyPicture Appearance:=xlScreen, Format:=xlPicture
  Sheets("Sheet2").Paste
  </code></pre>
  
  <p>This also works</p>
  
  <pre><code>ActiveSheet.Shapes("Chart 6").Copy
  Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False
  </code></pre>
  
  <p><strong>Problem</strong></p>
  
  <p>My problem is that when I try to copy multiple charts as a group this fails.</p>
  
  <p>I tried to use the Range property of the Shapes object, but there is no CopyPicture method available.  I came up with this work-around, but this also failed, with the same messages that I got when trying to CopyPicture.</p>
  
  <pre><code>ActiveSheet.Shapes.Range(Array("Chart 5", "Chart 6")).Select
  Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
  Sheets("Sheet2").Paste
  </code></pre>
  
  <p>And conversely this didn't work either</p>
  
  <pre><code>ActiveSheet.Shapes.Range(Array("Chart 5", "Chart 6")).Select
  Selection.Copy
  Sheets("Sheet2").PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False
  </code></pre>