View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
JNW JNW is offline
external usenet poster
 
Posts: 480
Default add new chart in 2007

Here is the code that created a chart in xl2003. As I said before,
ActiveSheet.ChartObjects.Add does not create a chart in xl2007 (That's been
my experience using the code below, but maybe I've got the syntax wrong). I
posted the MSKB website because I found out how to create a chart (using
ActiveSheet.Shapes.AddChart() from Original post) and was glad to find
something to allow me to move it to the desired location.

thanks for taking a look.

With ActiveSheet.ChartObjects.Add _
(Left:=5, _
Top:=Range("B5").End(xlDown).Offset(2, 0).Top, _
Width:=Range(Range("A5"), Range("B5").End(xlToRight)).Width -
10, _
Height:=Range("B5").End(xlDown).Offset(23, 0).Top -
Range("B5").End(xlDown).Offset(2, 0).Top)
.Chart.SetSourceData Source:=Union(ActiveSheet.Range(Range("B4"),
Range("C4").End(xlToRight).Offset(0, -1)), ActiveSheet.Range(Range("B8"),
Range("B8").End(xlToRight).Offset(0, -1))), PlotBy:=xlColumns
.Chart.ChartType = xlColumnClustered
End With


"Jon Peltier" wrote:

The code for 2003 (activesheet.chartobjects.add) doesn't create charts in
2007.


Except that it does create charts in 2007. The MSKB article you cited has no
code for creating charts, only for formatting chart elements.

Post the code that doesn't work, and describe what "doesn't work" means:
what's the failure mode, what's the error message, etc.?

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
Peltier Technical Services, Inc. - http://PeltierTech.com
_______


"JNW" wrote in message
...
Jon-

You're right. I posted my attempt at trying to make it work. The code
for
2003 (activesheet.chartobjects.add) doesn't create charts in 2007. That's
why I'm at this crossroads. A colleague of mine did find a KB site
yesterday
that may offer a solution. I haven't tried it yet but will post back with
my
results.


http://support.microsoft.com/kb/937620/en-us


"Jon Peltier" wrote:

ActiveSheet.Shapes.AddChart() is new in 2007. I presume your citation of
Excel 2003 is a typo.

I have not used this new syntax enough to have tripped over all of the
possible problems with it. You could go back to Excel 2003 syntax, which
is
still valid:

With ActiveSheet.ChartObjects.Add({left, top, width, height}).Chart
.SetSourceData Source:={range}, PlotBy:=xlColumns
.etc
End With

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
Peltier Technical Services, Inc. - http://PeltierTech.com
_______

"JNW" wrote in message
...
The code below is from xl2003. This created a nice chart. There were
5
values in one column cluster. The headers were on row 5 the values on
row
8.

Is this possibe to recreate? I've looked through Help, and the object
browser to no avail. The chart looks different, it won't plot by
columns,
and I can't seem to move it with VBA. I've tried recording the
changes,
chartobject, chartobjects, chartwizard, and more I can't remember.

I feel I am missing something simple.

Any thoughts are appreciated.

With ActiveSheet.Shapes.AddChart(ChartType:=xlColumnClu stered, _
Left:=5, _
Top:=Range("B5").End(xlDown).Offset(2, 0).Top, _
Width:=Range(Range("A5"),
Range("B5").End(xlToRight)).Width
- 10, _
Height:=Range("B5").End(xlDown).Offset(23, 0).Top =
Range("B5").End(xlDown).Offset(2, 0).Top)
.Chart.SetSourceData
Source:=Union(ActiveSheet.Range(Range("B4"),
Range("C4").End(xlToRight).Offset(0, -1)),
ActiveSheet.Range(Range("B8"),
Range("B8").End(xlToRight).Offset(0, -1))), PlotBy:=xlColumns
End With