Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 74
Default help with chart objects

Could someone tell me what I am doing wrong please in this code:

'Dim myChart As Chart

wsheet = ActiveSheet.Name

Charts.Add
cname = ActiveChart.Name
'Set myChart = ActiveChart

ActiveChart.ChartType = xlLineMarkers

ActiveChart.SetSourceData
Source:=Sheets("aulogbd").Range("C2:C23,E2:E23"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).XValues = "=aulogbd!R2C3:R23C3"
ActiveChart.SeriesCollection(1).Name = "=""0,0"""
ActiveChart.Location Whe=xlLocationAsObject, Name:="aulogbd"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
more code
'myChart.Activate
Worksheets(wsheet).ChartObjects(cname).Activate

When I run this I get an error Unable to get the ChartObjects of the
worksheet class at the last line. If I use the myChart logic (Remmed out
here) instead of cname = ActiveChart.Name and
Worksheets(wsheet).ChartObjects(cname).Activate , I get an Automation error.

What I want to do is to create a chart and then go back to that chart at a
later point and add more data to it.

Thanks
Chris


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default help with chart objects

The reason you cannot use the chart name is that it changes when you use
the .Location method. The code below should give you an indication of
what happens.
Step (2) uses the fact that your chart MUST be the last created
chartobject to set the reference WITHOUT having to actually know it's
name
In step (3) you could add the Name:= parameter to force your chartsheet
back to it's original name, just remember to check that there is not
another sheet with the same name


----
Sean
"Just press the off switch, and go to sleep!"

'----------------------------------------------------
'----------------------------------------------------
Sub ChartNameChanging()
Dim myChart As Chart, msg As String

' (1) start with a simple chartsheet
Set myChart = ActiveChart
msg = msg & "Original Chartsheet = " & myChart.Name & vbCrLf

' (2) move it to an embedded object on a worksheet
myChart.Location Whe=xlLocationAsObject, Name:="aulogbd"
Set myChart =
Worksheets("aulogbd").ChartObjects(Worksheets("aul ogbd").ChartObjects.Co
unt).Chart
msg = msg & "Now embedded chart = " & myChart.Name & vbCrLf

' (3) move it back to a chartsheet
myChart.Location Whe=xlLocationAsNewSheet
Set myChart = ActiveChart
msg = msg & "Back to Chartsheet = " & myChart.Name & vbCrLf


MsgBox (msg)
Set myChart = Nothing
End Sub
'----------------------------------------------------
'----------------------------------------------------

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
disconnected chart objects KenRogers Charts and Charting in Excel 0 August 5th 08 08:03 PM
Grouping Objects in a Chart or Graph vito Excel Discussion (Misc queries) 1 February 1st 08 11:11 PM
How to Name Chart Objects DCSwearingen Excel Discussion (Misc queries) 2 July 30th 06 10:27 AM
Chart objects Erich Neuwirth Excel Programming 1 August 13th 04 02:11 AM
Moving Chart Objects Matt Excel Programming 6 May 1st 04 03:34 PM


All times are GMT +1. The time now is 01:28 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"