Hallo,
Ik wil chartsheets met charts repliceren uit een workbook zonder gebruik te maken van copy/paste. Alsof ik handmatig dezelde charts aanmaak. Helaas werkt mijn code niet, kan iemand mij helpen?
Sub ReplicateCharts()
Dim Cht As Chart
Dim NewCht As Chart
Dim ChtObj, NewChtobj As ChartObject
Dim SrSerie As Series
Dim ns As Series
Dim x As Variant
If ActiveWorkbook.Charts.Count > 0 Then
For Each Cht In .Charts
Set NewCht = .Charts.Add()
NewCht.PageSetup.Orientation = Cht.PageSetup.Orientation
For Each ChtObj In Cht.ChartObjects
For Each SrSerie In ChtObj.Chart.SeriesCollection
Set NewChtobj = NewCht.ChartObjects.Add(ChtObj.Left, ChtObj.Top, ChtObj.Width, ChtObj.Height)
Set ns = NewChtobj.Chart.SeriesCollection.NewSeries
ns.Name = SrSerie.Name
ns.XValues = SrSerie.XValues HIER GAAT HET FOUT
ns.Values = SrSerie.Values
Next SrSerie
Next ChtObj
Next Cht
End With
End If
End Sub
Ik wil chartsheets met charts repliceren uit een workbook zonder gebruik te maken van copy/paste. Alsof ik handmatig dezelde charts aanmaak. Helaas werkt mijn code niet, kan iemand mij helpen?
Sub ReplicateCharts()
Dim Cht As Chart
Dim NewCht As Chart
Dim ChtObj, NewChtobj As ChartObject
Dim SrSerie As Series
Dim ns As Series
Dim x As Variant
If ActiveWorkbook.Charts.Count > 0 Then
For Each Cht In .Charts
Set NewCht = .Charts.Add()
NewCht.PageSetup.Orientation = Cht.PageSetup.Orientation
For Each ChtObj In Cht.ChartObjects
For Each SrSerie In ChtObj.Chart.SeriesCollection
Set NewChtobj = NewCht.ChartObjects.Add(ChtObj.Left, ChtObj.Top, ChtObj.Width, ChtObj.Height)
Set ns = NewChtobj.Chart.SeriesCollection.NewSeries
ns.Name = SrSerie.Name
ns.XValues = SrSerie.XValues HIER GAAT HET FOUT
ns.Values = SrSerie.Values
Next SrSerie
Next ChtObj
Next Cht
End With
End If
End Sub