What a palava!
Sub test()
Dim i As Long
Dim arr()
Dim wsSource As Worksheet, wsDest As Worksheet
Set wsSource = Worksheets("Sheet1")
Set wsDest = Worksheets("Sheet2")
wsSource.Activate
With wsSource.ChartObjects
ReDim arr(1 To .Count)
For i = 1 To UBound(arr)
arr(i) = .Item(i).ZOrder
Next
End With
wsSource.DrawingObjects(arr).Select
wsSource.DrawingObjects(arr).Copy
wsDest.Activate
wsDest.Range("B2").Activate
wsDest.PasteSpecial Format:="Picture (Enhanced Metafile)"
End Sub
Lots of select/activate and other stuff in the above I'd normally be
advising people not to do - but if needs must for Excel 2007 !
Regards,
Peter T
"Paste charts as enchanced metafile"
<(E-Mail Removed)> wrote in message
news:734F0956-10A5-4DD2-8FC6-(E-Mail Removed)...
> Peter,
>
> .Copy works for a single chart. Any way to select all the charts and paste
> them all at once?
>
> "Peter T" wrote:
>
>> CopyPicture doesn't work correctly in Excel 2007, it has been reported.
>>
>> Just use .Copy and all formats will be copied to the clipboard, then
>> paste
>> with whichever format you want. More here -
>>
>> http://groups.google.co.uk/group/mic...536ac8340331af
>>
>> Regards,
>> Peter T
>>
>>
>> "Paste charts as enchanced metafile"
>> <(E-Mail Removed)> wrote in
>> message
>> news:42E0EFA6-38D8-4BA0-AAC1-(E-Mail Removed)...
>> >I should add the loss of resolution is in Excel2007 and the error in the
>> > second code is also in Excel2007. Both methods work fine in Excel2003.
>> >
>> > "Paste charts as enchanced metafile" wrote:
>> >
>> >> I have a sheet with a number of charts. I want to copy them to another
>> >> sheet
>> >> as a single picture. The following code works, but the picture loses
>> >> resolution.
>> >>
>> >> 'Copies graphs as picture
>> >> Sheets("Graphs").Select
>> >> Range("A1:R51").Select
>> >> Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
>> >> Range("A1").Select
>> >>
>> >>
>> >> 'Pastes graph picture to summary sheet
>> >> Sheets("Static Summary Sheet").Select
>> >> Range("A1").Select
>> >> ActiveSheet.Paste
>> >>
>> >> I have replaced the code with:
>> >>
>> >> 'Copies graphs as picture
>> >> Sheets("Graphs").Select
>> >> ActiveSheet.Shapes.SelectAll
>> >> Selection.Copy
>> >> Range("A1").Select
>> >>
>> >>
>> >> 'Pastes graph picture to summary sheet
>> >> Sheets("Static Summary Sheet").Select
>> >> Range("D5").Select
>> >> ActiveSheet.PasteSpecial Format:="Picture (Enhanced Metafile)",
>> >> Link:=False _
>> >> , DisplayAsIcon:=False
>> >> Selection.Top = 69.75
>> >> Selection.Left = 37.5
>> >>
>> >> Now I get an error in the pastespecial line "PasteSpecial method of
>> >> Worksheet class failed.
>> >>
>> >> Any ideas?
>>
>>
>>