ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Charting in a loop (https://www.excelbanter.com/excel-programming/379346-charting-loop.html)

Otto Moehrbach

Charting in a loop
 
Excel XP, Win XP
I have 14 rows of data I want to chart, each row in a different chart.
The following code charts row 1 as the "X" axis and the values in row 2 as
the "Y" axis. Good.
Sub TestChart()
Range("C1:R2").Select
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("By store").Range("C1:R2")
ActiveChart.Location Whe=xlLocationAsNewSheet
End Sub
This code creates only one chart, as expected.
But I want to create charts of row 1 versus each of the other rows (13
charts).
I've tried a loop through all the rows using a Union of row 1 and each other
row as the range. Didn't work.
I know I can copy row 1 and each of the other rows, in turn, to a Utility
sheet, and chart that.
My question: How can I create the 13 charts without resorting to the Utility
sheet method?
Thanks for your time. Otto



Jon Peltier

Charting in a loop
 
Union worked just fine in this simple procedu

Sub ChartEachRow()
Dim iRow As Long
Dim cht As Chart
Dim rng As Range
Dim wks As Worksheet

Set wks = ActiveSheet
For iRow = 2 To 14
Set rng = Union(wks.Range("C1:R1"), wks.Range("C" & iRow & ":R" & iRow))
Set cht = ActiveWorkbook.Charts.Add
cht.SetSourceData Source:=rng
Next
End Sub

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


"Otto Moehrbach" wrote in message
...
Excel XP, Win XP
I have 14 rows of data I want to chart, each row in a different chart.
The following code charts row 1 as the "X" axis and the values in row 2 as
the "Y" axis. Good.
Sub TestChart()
Range("C1:R2").Select
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("By store").Range("C1:R2")
ActiveChart.Location Whe=xlLocationAsNewSheet
End Sub
This code creates only one chart, as expected.
But I want to create charts of row 1 versus each of the other rows (13
charts).
I've tried a loop through all the rows using a Union of row 1 and each
other row as the range. Didn't work.
I know I can copy row 1 and each of the other rows, in turn, to a Utility
sheet, and chart that.
My question: How can I create the 13 charts without resorting to the
Utility sheet method?
Thanks for your time. Otto




Otto Moehrbach

Charting in a loop
 
Jon
Thanks for that. I'll try it and see. Otto
"Jon Peltier" wrote in message
...
Union worked just fine in this simple procedu

Sub ChartEachRow()
Dim iRow As Long
Dim cht As Chart
Dim rng As Range
Dim wks As Worksheet

Set wks = ActiveSheet
For iRow = 2 To 14
Set rng = Union(wks.Range("C1:R1"), wks.Range("C" & iRow & ":R" &
iRow))
Set cht = ActiveWorkbook.Charts.Add
cht.SetSourceData Source:=rng
Next
End Sub

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


"Otto Moehrbach" wrote in message
...
Excel XP, Win XP
I have 14 rows of data I want to chart, each row in a different chart.
The following code charts row 1 as the "X" axis and the values in row 2
as the "Y" axis. Good.
Sub TestChart()
Range("C1:R2").Select
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("By store").Range("C1:R2")
ActiveChart.Location Whe=xlLocationAsNewSheet
End Sub
This code creates only one chart, as expected.
But I want to create charts of row 1 versus each of the other rows (13
charts).
I've tried a loop through all the rows using a Union of row 1 and each
other row as the range. Didn't work.
I know I can copy row 1 and each of the other rows, in turn, to a Utility
sheet, and chart that.
My question: How can I create the 13 charts without resorting to the
Utility sheet method?
Thanks for your time. Otto







All times are GMT +1. The time now is 06:27 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com