Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 26
Default Efficiently Generate 88 Chartsheets

Gang,

I've got a simple X*Y chart with year (1977-present) on the x-axis and
an estimate of deer population size on the y-axis (actually, there may
ultimately be 2 estimates/series). There is nothing really all that
fancy about it. It will be updated each year with the current year's
estimate. The problem is, I need 87 more just like it - 1 for each of
the 88 units that I manage.


I have been reading VBA and Excel books and I have yet to find an
example on how to "mass produce" a bunch of chart sheets. I take that
back - a simple "FOR NEXT" loop will generate the chart sheets. I'm at

a loss as to how to get the chart that I want with the "look" and data
that I need.


An idea thatI've had: Turn the macro recorder on and generate a
prototype chart. Cut and paste this code (after cleaning it up) into a

"FOR NEXT" loop and viola!


Clearly an oversimplification. Any sample code or other guidance would

be appreciated.


BTW the source data for each chart is all in a single worksheet and
looks like the folllowing:


County Year Population
Athens 1977 207
Athens 1978 305
Athens 2006 10,005
Belmont 1977 405
....


Mike

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,489
Default Efficiently Generate 88 Chartsheets

Hi,

This should get you started. I would try it on a subset of the data
first rather than all 88 sets. You will still need to add any formatting
code you have recorded.

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 05/07/2006 by Andy Pope
'
Dim lngRow As Long
Dim lngStartRow As Long
Dim chtDeer As Chart
Dim shtData As Worksheet
Dim rngXData As Range
Dim rngYData As Range
Dim strCounty As String

'
Set shtData = Worksheets("Sheet1")
lngRow = 2
lngStartRow = 2
Do While shtData.Cells(lngRow, 1) < ""
If shtData.Cells(lngRow, 1) < shtData.Cells(lngRow + 1, 1) Then
Set rngXData = shtData.Range( _
"B" & lngStartRow & ":B" & lngRow)
Set rngYData = rngXData.Offset(0, 1)
strCounty = shtData.Cells(lngRow, 1).Value
' make a chart
Set chtDeer = Charts.Add
With chtDeer
Do While .SeriesCollection.Count 0
.SeriesCollection(1).Delete
Loop
.ChartType = xlXYScatterLines
.PlotBy = xlColumns
With .SeriesCollection.NewSeries
.XValues = rngXData
.Values = rngYData
End With
.Location Whe=xlLocationAsNewSheet
.HasTitle = True
.ChartTitle.Characters.Text = strCounty
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
.HasLegend = False
.Name = strCounty
End With
lngStartRow = lngRow + 1
End If
lngRow = lngRow + 1
Loop

Set rngXData = Nothing
Set rngYData = Nothing
Set shtData = Nothing
Set chtDeer = Nothing

End Sub

Cheers
Andy

wrote:
Gang,

I've got a simple X*Y chart with year (1977-present) on the x-axis and
an estimate of deer population size on the y-axis (actually, there may
ultimately be 2 estimates/series). There is nothing really all that
fancy about it. It will be updated each year with the current year's
estimate. The problem is, I need 87 more just like it - 1 for each of
the 88 units that I manage.


I have been reading VBA and Excel books and I have yet to find an
example on how to "mass produce" a bunch of chart sheets. I take that
back - a simple "FOR NEXT" loop will generate the chart sheets. I'm at

a loss as to how to get the chart that I want with the "look" and data
that I need.


An idea thatI've had: Turn the macro recorder on and generate a
prototype chart. Cut and paste this code (after cleaning it up) into a

"FOR NEXT" loop and viola!


Clearly an oversimplification. Any sample code or other guidance would

be appreciated.


BTW the source data for each chart is all in a single worksheet and
looks like the folllowing:


County Year Population
Athens 1977 207
Athens 1978 305
Athens 2006 10,005
Belmont 1977 405
...


Mike


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 26
Default Efficiently Generate 88 Chartsheets

Sorry Don. I didn't realize it was a problem. I will refrain in the
future.

Mike
Don Guillett wrote:
See replies in your first post. Pls do NOT post in more than one group.

--
Don Guillett
SalesAid Software

wrote in message
ups.com...
Gang,

I've got a simple X*Y chart with year (1977-present) on the x-axis and
an estimate of deer population size on the y-axis (actually, there may
ultimately be 2 estimates/series). There is nothing really all that
fancy about it. It will be updated each year with the current year's
estimate. The problem is, I need 87 more just like it - 1 for each of
the 88 units that I manage.


I have been reading VBA and Excel books and I have yet to find an
example on how to "mass produce" a bunch of chart sheets. I take that
back - a simple "FOR NEXT" loop will generate the chart sheets. I'm at

a loss as to how to get the chart that I want with the "look" and data
that I need.


An idea thatI've had: Turn the macro recorder on and generate a
prototype chart. Cut and paste this code (after cleaning it up) into a

"FOR NEXT" loop and viola!


Clearly an oversimplification. Any sample code or other guidance would

be appreciated.


BTW the source data for each chart is all in a single worksheet and
looks like the folllowing:


County Year Population
Athens 1977 207
Athens 1978 305
Athens 2006 10,005
Belmont 1977 405
...


Mike


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
Efficiently Generate 88 Chartsheets [email protected] Excel Worksheet Functions 3 July 5th 06 01:53 PM
generate a random number and use if function to generate new data Dogdoc1142 Excel Worksheet Functions 4 April 26th 06 03:44 AM
Can't protect chartsheets in my workbook Mark Stephens Excel Programming 4 June 12th 05 09:10 AM
List Worksheets & Chartsheets Blue Excel Programming 2 February 3rd 05 11:30 PM
Exporting chartsheets and breaking links ExcelMonkey[_2_] Excel Programming 3 January 24th 04 06:33 PM


All times are GMT +1. The time now is 10:14 PM.

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"