View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
deko[_2_] deko[_2_] is offline
external usenet poster
 
Posts: 53
Default Chart location method fails using sheet name

mystery solved!

Dim objSheet As Object
Dim objChart As Object

For p = LBound(sn) To UBound(sn) 'array of sheet names
Set objSheet = xlapp.Workbooks(strXlsFile).Worksheets(sn(p))
Set objChart = objSheet.ChartObjects.Add(300, 20, 500, 300).Chart
objChart.SetSourceData Source:=xlapp.Workbooks(strXlsFile). _
Worksheets(sn(p)).Range("A1:C" & xlapp.Workbooks _
(strXlsFile).Worksheets(sn(p)).Range("C1").End(xlD own).Row), _
PlotBy:=xlColumns
objChart.ChartType = xlLineMarkersStacked
objChart.Axes(xlCategory, xlPrimary).HasTitle = False
objChart.Axes(xlValue, xlPrimary).HasTitle = False
objChart.HasLegend = False
objChart.ChartTitle.Text = sn(p)
objChart.HasTitle = True
Next p

The ChartObjects collection holds embedded Chart objects, which are accessed
through the ChartObject object; the Chart property of the ChartObject object
is used to access the actual chart. When using automation, the Add method
of the ChartObjects object will add an embedded chart, rather than the Add
method of the Charts object. There's an example he
http://msdn.microsoft.com/library/de...latecharts.asp but it's not very well documented.