Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 7
Default trying to programmatically change chart data range with vb.net

I'm trying to adjust the data range for a chart, based on how many rows
of data have been imported in. The data range will be in the same
worksheet as the chart.

rowEnrolling and rowCnt are integers, but using integers to concat to a
string has been working so far.

Here's my line of code:

ws.ChartObjects(1).chart.seriescollection(1).value s = ws.Range("f" &
rowEnrolling & ":f" & rowCnt - 1)

and I get a "data type mismatch", I'm assuming that the
seriescollection(1).values is not matching the ws.range

Any pointers on this?
  #2   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 6,582
Default trying to programmatically change chart data range with vb.net

Well, rows go up to at least 65536, which is twice the largest integer.
Perhaps if you use Longs instead it might work. You could be really
compulsive and use CLng(rowCnt - 1) or whatever vb.net uses for CLng.

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


"doofy" wrote in message
...
I'm trying to adjust the data range for a chart, based on how many rows of
data have been imported in. The data range will be in the same worksheet
as the chart.

rowEnrolling and rowCnt are integers, but using integers to concat to a
string has been working so far.

Here's my line of code:

ws.ChartObjects(1).chart.seriescollection(1).value s = ws.Range("f" &
rowEnrolling & ":f" & rowCnt - 1)

and I get a "data type mismatch", I'm assuming that the
seriescollection(1).values is not matching the ws.range

Any pointers on this?



  #3   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 7
Default trying to programmatically change chart data range with vb.net

Jon Peltier wrote:
Well, rows go up to at least 65536, which is twice the largest integer.
Perhaps if you use Longs instead it might work. You could be really
compulsive and use CLng(rowCnt - 1) or whatever vb.net uses for CLng.

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


"doofy" wrote in message
...
I'm trying to adjust the data range for a chart, based on how many rows of
data have been imported in. The data range will be in the same worksheet
as the chart.

rowEnrolling and rowCnt are integers, but using integers to concat to a
string has been working so far.

Here's my line of code:

ws.ChartObjects(1).chart.seriescollection(1).value s = ws.Range("f" &
rowEnrolling & ":f" & rowCnt - 1)

and I get a "data type mismatch", I'm assuming that the
seriescollection(1).values is not matching the ws.range

Any pointers on this?




I'm only porting over 20 rows at this time, and it should never go over
100. So, I don't think that's the issue, though I could be wrong.

I think it's the syntax and sequencing of the code, though I'm finding
little on the web to help me, and nothing in books I have.

  #4   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 6,582
Default trying to programmatically change chart data range with vb.net

Post on top like everyone else does, so it's easier to follow the thread.

The syntax looks okay, but I'm using VBA. The VB.net code I've seen often
has added syntactical elements which I don't recognize.

The variable type may not care how many rows you're accessing, it it's
expecting a long to accommodate the largest possible row number. VBA is easy
about this, not being strongly typed, but maybe dot net is stricter.

One thing to check is whether the series is displayed before this command is
executed. Line and Scatter charts that do not display for whatever reason
(only error values in the range) cannot be fully accessed by VBA. You
usually can change to a column chart type first, fix the series, then change
back.

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


"doofy" wrote in message
...
Jon Peltier wrote:
Well, rows go up to at least 65536, which is twice the largest integer.
Perhaps if you use Longs instead it might work. You could be really
compulsive and use CLng(rowCnt - 1) or whatever vb.net uses for CLng.

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


"doofy" wrote in message
...
I'm trying to adjust the data range for a chart, based on how many rows
of data have been imported in. The data range will be in the same
worksheet as the chart.

rowEnrolling and rowCnt are integers, but using integers to concat to a
string has been working so far.

Here's my line of code:

ws.ChartObjects(1).chart.seriescollection(1).value s = ws.Range("f" &
rowEnrolling & ":f" & rowCnt - 1)

and I get a "data type mismatch", I'm assuming that the
seriescollection(1).values is not matching the ws.range

Any pointers on this?




I'm only porting over 20 rows at this time, and it should never go over
100. So, I don't think that's the issue, though I could be wrong.

I think it's the syntax and sequencing of the code, though I'm finding
little on the web to help me, and nothing in books I have.



  #5   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 7
Default trying to programmatically change chart data range with vb.net

Jon Peltier wrote:
Post on top like everyone else does, so it's easier to follow the thread.


I believe this would be the only newsgroup where I was asked to top
post. Are you sure the net nanny inquisition knows what you're doing
here? ;-)

I'll look into what you said about the longs.


  #6   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 6,582
Default trying to programmatically change chart data range with vb.net

These forums have traditionally been top-posted, at least for the past 8-10
years.

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


"doofy" wrote in message
...
Jon Peltier wrote:
Post on top like everyone else does, so it's easier to follow the thread.


I believe this would be the only newsgroup where I was asked to top post.
Are you sure the net nanny inquisition knows what you're doing here? ;-)

I'll look into what you said about the longs.



  #7   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 7
Default trying to programmatically change chart data range with vb.net

My reader automatically drops me to the bottom.

This code worked for me:

'set data range
oSeries = ws.ChartObjects(1).chart.seriescollection(1)
'names
oSeries.XValues = ws.Range("b" & rowEnrolling, "b" &
rowCnt - 1)
'values
oSeries.Values = ws.Range("f" & rowEnrolling, "f" &
rowCnt - 1)




Jon Peltier wrote:
These forums have traditionally been top-posted, at least for the past 8-10
years.

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


"doofy" wrote in message
...
Jon Peltier wrote:
Post on top like everyone else does, so it's easier to follow the thread.

I believe this would be the only newsgroup where I was asked to top post.
Are you sure the net nanny inquisition knows what you're doing here? ;-)

I'll look into what you said about the longs.



  #8   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 6,582
Default trying to programmatically change chart data range with vb.net

Well, there are lots of syntax variations which should work. I guess VB.net
is a little picky.

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


"doofy" wrote in message
...
My reader automatically drops me to the bottom.

This code worked for me:

'set data range
oSeries = ws.ChartObjects(1).chart.seriescollection(1)
'names
oSeries.XValues = ws.Range("b" & rowEnrolling, "b" &
rowCnt - 1)
'values
oSeries.Values = ws.Range("f" & rowEnrolling, "f" &
rowCnt - 1)




Jon Peltier wrote:
These forums have traditionally been top-posted, at least for the past
8-10 years.

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


"doofy" wrote in message
...
Jon Peltier wrote:
Post on top like everyone else does, so it's easier to follow the
thread.
I believe this would be the only newsgroup where I was asked to top
post. Are you sure the net nanny inquisition knows what you're doing
here? ;-)

I'll look into what you said about the longs.



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
How to dynamically change the series range of a chart ? ptek Charts and Charting in Excel 2 October 5th 06 04:42 AM
Programmatically find out if Chart displays Percentages Grant Charts and Charting in Excel 1 August 22nd 06 03:10 AM
copying data from an unopened file programmatically maxzsim Excel Discussion (Misc queries) 2 December 1st 05 02:29 AM
How do I change a range name back to the underlying data range? Colin Excel Worksheet Functions 1 September 26th 05 05:55 PM
Can I use named range in data range box when creating pie chart? BJackson Charts and Charting in Excel 2 August 17th 05 05:37 PM


All times are GMT +1. The time now is 07:31 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"