Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Change Multiple chart source data

I have 200 charts (7 on each page)with one data page. I'd like to be
able to loop through the pages and charts and the row addresses. My
goal is to be able to change the column address from "f" to say "h"
for example, and have the macro loop through all the pages, charts
and range addresses.

I've figured out how to loop through activating the page and the
charts on each page, but can't figure out how to express the range
statement

.Range("A2:f6"),

with variables so I can loop through the row values for each chart.
I've tried statements like this -- but no luck. Am I just getting the
syntax wrong?

ActiveChart.SetSourceData Source:=Sheets("Sheet23").Range("A" &
"z" & ":" & "F" & "y"), _
PlotBy:=xlRows


I would like to loop rather than having 200 statement like this since
the column names are the same throughout and the row numbers increment
by 7.

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A2:f6"), _
PlotBy:=xlRows

ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A9:f13"), _
PlotBy:=xlRows

ActiveSheet.ChartObjects("Chart 3").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A16:f20"), _
PlotBy:=xlRows


Your help will be appreciated. Thank You.
Renate
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Change Multiple chart source data

Possibly you could loop through the seriescollection of each chart and do
something like:

ActiveChart.SeriesCollection(1).Formula = Application.Substitute( _
ActiveChart.SeriesCollection(1).Formula,"$F","$H")


The results of checking the formula property is

? ActiveChart.SeriesCollection(1).Formula
=SERIES('[aa_book1.xls]Sheet1'!$F$1,,'[aa_book1.xls]Sheet1'!$F$2:$F$14,1)

--
Regards,
Tom Ogilvy

"Renate Stach" wrote in message
om...
I have 200 charts (7 on each page)with one data page. I'd like to be
able to loop through the pages and charts and the row addresses. My
goal is to be able to change the column address from "f" to say "h"
for example, and have the macro loop through all the pages, charts
and range addresses.

I've figured out how to loop through activating the page and the
charts on each page, but can't figure out how to express the range
statement

.Range("A2:f6"),

with variables so I can loop through the row values for each chart.
I've tried statements like this -- but no luck. Am I just getting the
syntax wrong?

ActiveChart.SetSourceData Source:=Sheets("Sheet23").Range("A" &
"z" & ":" & "F" & "y"), _
PlotBy:=xlRows


I would like to loop rather than having 200 statement like this since
the column names are the same throughout and the row numbers increment
by 7.

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A2:f6"), _
PlotBy:=xlRows

ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A9:f13"), _
PlotBy:=xlRows

ActiveSheet.ChartObjects("Chart 3").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A16:f20"), _
PlotBy:=xlRows


Your help will be appreciated. Thank You.
Renate



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Change Multiple chart source data

Tom,

Thanks you so much!!!! This will save me tons of time.




"Tom Ogilvy" wrote in message ...
Possibly you could loop through the seriescollection of each chart and do
something like:

ActiveChart.SeriesCollection(1).Formula = Application.Substitute( _
ActiveChart.SeriesCollection(1).Formula,"$F","$H")


The results of checking the formula property is

? ActiveChart.SeriesCollection(1).Formula
=SERIES('[aa_book1.xls]Sheet1'!$F$1,,'[aa_book1.xls]Sheet1'!$F$2:$F$14,1)

--
Regards,
Tom Ogilvy

"Renate Stach" wrote in message
om...
I have 200 charts (7 on each page)with one data page. I'd like to be
able to loop through the pages and charts and the row addresses. My
goal is to be able to change the column address from "f" to say "h"
for example, and have the macro loop through all the pages, charts
and range addresses.

I've figured out how to loop through activating the page and the
charts on each page, but can't figure out how to express the range
statement

.Range("A2:f6"),

with variables so I can loop through the row values for each chart.
I've tried statements like this -- but no luck. Am I just getting the
syntax wrong?

ActiveChart.SetSourceData Source:=Sheets("Sheet23").Range("A" &
"z" & ":" & "F" & "y"), _
PlotBy:=xlRows


I would like to loop rather than having 200 statement like this since
the column names are the same throughout and the row numbers increment
by 7.

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A2:f6"), _
PlotBy:=xlRows

ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A9:f13"), _
PlotBy:=xlRows

ActiveSheet.ChartObjects("Chart 3").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData
Source:=Sheets("Sheet23").Range("A16:f20"), _
PlotBy:=xlRows


Your help will be appreciated. Thank You.
Renate

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 70
Default Change Multiple chart source data

This is the mechanism behind the Change Series Formula macro I've posted
on my web site:

http://peltiertech.com/Excel/Charts/ChgSrsFmla.html

I have a few choices built into it: Active Chart vs. All Charts on
Sheet. Another For-Next loop around that will get all charts on all sheets.

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

Tom Ogilvy wrote:
Possibly you could loop through the seriescollection of each chart and do
something like:

ActiveChart.SeriesCollection(1).Formula = Application.Substitute( _
ActiveChart.SeriesCollection(1).Formula,"$F","$H")


The results of checking the formula property is

? ActiveChart.SeriesCollection(1).Formula
=SERIES('[aa_book1.xls]Sheet1'!$F$1,,'[aa_book1.xls]Sheet1'!$F$2:$F$14,1)


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
Change Source Data in Chart Karen Charts and Charting in Excel 3 August 15th 08 09:30 PM
Change source data of a pivot chart MRIreland Charts and Charting in Excel 1 July 23rd 08 03:15 PM
Edit Chart to Change Source Data wamiller36 Charts and Charting in Excel 2 July 2nd 08 07:17 AM
Change source data in a pivot chart johnb Charts and Charting in Excel 4 September 12th 07 04:40 PM
change chart source from range to raw data daithimcc Excel Programming 2 December 27th 03 05:19 PM


All times are GMT +1. The time now is 01:31 AM.

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"