Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.charting
|
|||
|
|||
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
Posted to microsoft.public.excel.charting
|
|||
|
|||
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
Posted to microsoft.public.excel.charting
|
|||
|
|||
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
Posted to microsoft.public.excel.charting
|
|||
|
|||
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
Posted to microsoft.public.excel.charting
|
|||
|
|||
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
Posted to microsoft.public.excel.charting
|
|||
|
|||
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
Posted to microsoft.public.excel.charting
|
|||
|
|||
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
Posted to microsoft.public.excel.charting
|
|||
|
|||
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 |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How to dynamically change the series range of a chart ? | Charts and Charting in Excel | |||
Programmatically find out if Chart displays Percentages | Charts and Charting in Excel | |||
copying data from an unopened file programmatically | Excel Discussion (Misc queries) | |||
How do I change a range name back to the underlying data range? | Excel Worksheet Functions | |||
Can I use named range in data range box when creating pie chart? | Charts and Charting in Excel |