Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default ChartObjects.Count is incorrect

Hello all,

I've run into a stupid issue, and I'm not sure how to get around it.

I'm trying to automatically change the data source of a chart. Basically
every month I need to move the data source ahead by a row (advance the chart
window by a month).

I'm trying to loop through the chart objects of the worksheet and I guess
there were numerous charts added then deleted. So my ChartObjects.Count
returns 13, but there are only 6 charts.

How can I either:
a) Reset the counter of ChartObjects?
b) Edit the chart names to be (for example) Chart 1 - Chart 6? Right now,
it's not consistent what charts were left. There's no continuous run of
values I can loop through.
c) Only look at valid charts? The chart has a name, so I can't screen out
using that variable. Maybe another is (consistently) missing from
non-viewable charts? I don't know.

Any ideas are appreciated.

Thanks,
Jay

--
Disregard, this is so I can find my post later.
***postedbyJay***
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default ChartObjects.Count is incorrect

Avoid using the name:

Sub Tester1()
For Each ocht In ActiveSheet.ChartObjects
MsgBox ocht.Name & " - " & ocht.Chart.Name
Next

End Sub

but you can change the name manually. Make the drawing bar visible and
select the northwest arrow. Now click on the chart object and change the
name in the name bar. Reselect it and make sure it took. Turn on the macro
recorder while you do it and get the code to do it as well.

--
Regards,
Tom Ogilvy


--
regards,
Tom Ogilvy


"Jay" wrote:

Hello all,

I've run into a stupid issue, and I'm not sure how to get around it.

I'm trying to automatically change the data source of a chart. Basically
every month I need to move the data source ahead by a row (advance the chart
window by a month).

I'm trying to loop through the chart objects of the worksheet and I guess
there were numerous charts added then deleted. So my ChartObjects.Count
returns 13, but there are only 6 charts.

How can I either:
a) Reset the counter of ChartObjects?
b) Edit the chart names to be (for example) Chart 1 - Chart 6? Right now,
it's not consistent what charts were left. There's no continuous run of
values I can loop through.
c) Only look at valid charts? The chart has a name, so I can't screen out
using that variable. Maybe another is (consistently) missing from
non-viewable charts? I don't know.

Any ideas are appreciated.

Thanks,
Jay

--
Disregard, this is so I can find my post later.
***postedbyJay***

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 14
Default ChartObjects.Count is incorrect

Jay,

If you are changing the data source of a chart, it would be easier to
use a named range - the chart always looks at the named range, but the
named range changes.

Is the data a time series and are the columns you are switching
between in the same workbook? Or have I misinterpreted your underlying
issue?

Toy.

  #4   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default ChartObjects.Count is incorrect

Toy,

I hadn't thought of using a named range.

I've run into all sorts of issues trying to change the XValues and Values of
a SeriesCollection. I can set the value, but I can't retrieve the value.

I'm going to try the named range route. I can't find a way to retrieve the
XValues/Values for me to parse and increment.

Thanks!
--
Disregard, this is so I can find my post later.
***postedbyJay***


" wrote:

Jay,

If you are changing the data source of a chart, it would be easier to
use a named range - the chart always looks at the named range, but the
named range changes.

Is the data a time series and are the columns you are switching
between in the same workbook? Or have I misinterpreted your underlying
issue?

Toy.


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 14
Default ChartObjects.Count is incorrect

One thing to note when using named ranges for chart series, ensure you
name your range for the worksheet only and not the workbook.

i.e. Sheet1!NamedRange

Then when refering to the name range you will need to put Sheet1!
NamedRange in the chart series.

Regards,

Toyin.

ps - I hope you can find your post later!



  #6   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default ChartObjects.Count is incorrect

I found a small problem with this named range solution.

I have 30+ charts I need to create named ranges for. With 3+ series in each
chart.

I think I might be farther ahead if I can find a way to modify the XValues
and Values instead. That way it won't be dependant on the named ranges, and
then I won't have to create them all. ;)

Any ideas?
--
Disregard, this is so I can find my post later.
***postedbyJay***


" wrote:

One thing to note when using named ranges for chart series, ensure you
name your range for the worksheet only and not the workbook.

i.e. Sheet1!NamedRange

Then when refering to the name range you will need to put Sheet1!
NamedRange in the chart series.

Regards,

Toyin.

ps - I hope you can find your post later!


  #7   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default ChartObjects.Count is incorrect

That solved my chart naming issues, thanks!
--
Disregard, this is so I can find my post later.
***postedbyJay***


"Tom Ogilvy" wrote:

Avoid using the name:

Sub Tester1()
For Each ocht In ActiveSheet.ChartObjects
MsgBox ocht.Name & " - " & ocht.Chart.Name
Next

End Sub

but you can change the name manually. Make the drawing bar visible and
select the northwest arrow. Now click on the chart object and change the
name in the name bar. Reselect it and make sure it took. Turn on the macro
recorder while you do it and get the code to do it as well.

--
Regards,
Tom Ogilvy


--
regards,
Tom Ogilvy


"Jay" wrote:

Hello all,

I've run into a stupid issue, and I'm not sure how to get around it.

I'm trying to automatically change the data source of a chart. Basically
every month I need to move the data source ahead by a row (advance the chart
window by a month).

I'm trying to loop through the chart objects of the worksheet and I guess
there were numerous charts added then deleted. So my ChartObjects.Count
returns 13, but there are only 6 charts.

How can I either:
a) Reset the counter of ChartObjects?
b) Edit the chart names to be (for example) Chart 1 - Chart 6? Right now,
it's not consistent what charts were left. There's no continuous run of
values I can loop through.
c) Only look at valid charts? The chart has a name, so I can't screen out
using that variable. Maybe another is (consistently) missing from
non-viewable charts? I don't know.

Any ideas are appreciated.

Thanks,
Jay

--
Disregard, this is so I can find my post later.
***postedbyJay***

  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default ChartObjects.Count is incorrect

Hi Jay,

Maybe someone assumed that deleting rows or columns containing charts also
deletes the charts, rather than making them zero width or height and
effectively invisible.

Sub FindNonDeletedCharts()
Dim chtobj As ChartObject
For Each chtobj In ActiveSheet.ChartObjects
If chtobj.Width < 20 Then
chtobj.Width = 200
chtobj.Chart.ChartArea.Interior.ColorIndex = 3
End If
If chtobj.Height < 20 Then
chtobj.Height = 100
chtobj.Chart.ChartArea.Interior.ColorIndex = 3
End If
Next

Regards,
Peter T

"Jay" wrote in message
...
Hello all,

I've run into a stupid issue, and I'm not sure how to get around it.

I'm trying to automatically change the data source of a chart. Basically
every month I need to move the data source ahead by a row (advance the

chart
window by a month).

I'm trying to loop through the chart objects of the worksheet and I guess
there were numerous charts added then deleted. So my ChartObjects.Count
returns 13, but there are only 6 charts.

How can I either:
a) Reset the counter of ChartObjects?
b) Edit the chart names to be (for example) Chart 1 - Chart 6? Right now,
it's not consistent what charts were left. There's no continuous run of
values I can loop through.
c) Only look at valid charts? The chart has a name, so I can't screen out
using that variable. Maybe another is (consistently) missing from
non-viewable charts? I don't know.

Any ideas are appreciated.

Thanks,
Jay

--
Disregard, this is so I can find my post later.
***postedbyJay***



  #9   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default ChartObjects.Count is incorrect

That solved my 'ghost' chart issues, thanks!
--
Disregard, this is so I can find my post later.
***postedbyJay***


"Peter T" wrote:

Hi Jay,

Maybe someone assumed that deleting rows or columns containing charts also
deletes the charts, rather than making them zero width or height and
effectively invisible.

Sub FindNonDeletedCharts()
Dim chtobj As ChartObject
For Each chtobj In ActiveSheet.ChartObjects
If chtobj.Width < 20 Then
chtobj.Width = 200
chtobj.Chart.ChartArea.Interior.ColorIndex = 3
End If
If chtobj.Height < 20 Then
chtobj.Height = 100
chtobj.Chart.ChartArea.Interior.ColorIndex = 3
End If
Next

Regards,
Peter T

"Jay" wrote in message
...
Hello all,

I've run into a stupid issue, and I'm not sure how to get around it.

I'm trying to automatically change the data source of a chart. Basically
every month I need to move the data source ahead by a row (advance the

chart
window by a month).

I'm trying to loop through the chart objects of the worksheet and I guess
there were numerous charts added then deleted. So my ChartObjects.Count
returns 13, but there are only 6 charts.

How can I either:
a) Reset the counter of ChartObjects?
b) Edit the chart names to be (for example) Chart 1 - Chart 6? Right now,
it's not consistent what charts were left. There's no continuous run of
values I can loop through.
c) Only look at valid charts? The chart has a name, so I can't screen out
using that variable. Maybe another is (consistently) missing from
non-viewable charts? I don't know.

Any ideas are appreciated.

Thanks,
Jay

--
Disregard, this is so I can find my post later.
***postedbyJay***




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
IF/COUNT/AVERAGE... Value returned is incorrect. Rebekah Excel Worksheet Functions 3 September 28th 07 04:25 PM
F1 help for ChartObjects John Excel Programming 1 October 21st 06 02:36 AM
ChartObjects Scott Excel Programming 1 June 30th 06 12:23 AM
Datedif incorrect month count - February problem?? JMKCT Excel Worksheet Functions 4 December 14th 05 03:36 PM
ChartObjects Nick Excel Programming 2 August 19th 04 12:04 PM


All times are GMT +1. The time now is 09:47 AM.

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

About Us

"It's about Microsoft Excel"