ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Multiple chart copy (https://www.excelbanter.com/excel-discussion-misc-queries/16979-multiple-chart-copy.html)

MarkyP

Multiple chart copy
 
Hi there,

Is there any way that i can copy a user defined number of charts on a
sheet.
There are 24 charts on the sheet and i want to copy a predefined
number of these (for pasting into WORD).
when using.....

ActiveSheet.Shapes.Range(Array("Chart 84", "Chart 85", "Chart
86")).Select

the charts have to be indentified before runtime.

is there a way such as

For a = ChartNumFirst to ChartNumLast
chartobjects(a).copy
next

so i end up with all charts copied, rather than just the last one?


regards,

Mark

Dave Peterson

Option Explicit
Sub testme()

Dim myChartNames() As String
Dim a As Long
Dim ChartNumFirst As Long
Dim ChartNumLast As Long

ChartNumFirst = 1
ChartNumLast = 2
'...
ReDim myChartNames(ChartNumFirst To ChartNumLast)

For a = ChartNumFirst To ChartNumLast
myChartNames(a) = ActiveSheet.ChartObjects(a).Name
Next a

ActiveSheet.ChartObjects(myChartNames).Select

End Sub


MarkyP wrote:

Hi there,

Is there any way that i can copy a user defined number of charts on a
sheet.
There are 24 charts on the sheet and i want to copy a predefined
number of these (for pasting into WORD).
when using.....

ActiveSheet.Shapes.Range(Array("Chart 84", "Chart 85", "Chart
86")).Select

the charts have to be indentified before runtime.

is there a way such as

For a = ChartNumFirst to ChartNumLast
chartobjects(a).copy
next

so i end up with all charts copied, rather than just the last one?

regards,

Mark


--

Dave Peterson

MarkyP

Thanks Dave
I'll give that a go.

Mark



Dave Peterson wrote in message ...
Option Explicit
Sub testme()

Dim myChartNames() As String
Dim a As Long
Dim ChartNumFirst As Long
Dim ChartNumLast As Long

ChartNumFirst = 1
ChartNumLast = 2
'...
ReDim myChartNames(ChartNumFirst To ChartNumLast)

For a = ChartNumFirst To ChartNumLast
myChartNames(a) = ActiveSheet.ChartObjects(a).Name
Next a

ActiveSheet.ChartObjects(myChartNames).Select

End Sub


MarkyP wrote:

Hi there,

Is there any way that i can copy a user defined number of charts on a
sheet.
There are 24 charts on the sheet and i want to copy a predefined
number of these (for pasting into WORD).
when using.....

ActiveSheet.Shapes.Range(Array("Chart 84", "Chart 85", "Chart
86")).Select

the charts have to be indentified before runtime.

is there a way such as

For a = ChartNumFirst to ChartNumLast
chartobjects(a).copy
next

so i end up with all charts copied, rather than just the last one?

regards,

Mark



All times are GMT +1. The time now is 04:56 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com