Please keep your questions in the thread.
Thanks for your help!! It worked perfect!! One extra question. I will send out 1 page to each person at my work. Is it possible to have one chart at on each page like Sheet1, sheet2 and so on? Thanks. Jon
Either one of this will do it
Sub ChartPerSheet()
'
' Macro2 Macro
' Macro recorded 14/10/2008 by Andy Pope
'
Dim rngData As Range
Dim rngAverage As Range
Dim sngHeight As Single, sngWidth As Single
Dim sngTop As Single, sngLeft As Single
Dim shtTemp As Worksheet
' chartobject size
sngTop = 1
sngLeft = Range("E1").Left
sngHeight = Range("A1:A7").Height
sngWidth = Range("E1:K1").Width
Set rngAverage = Range("A31:B31")
For Each rngData In Range("A1:B30").Rows
Set shtTemp = Worksheets.Add(after:=Worksheets(Worksheets.Count))
With shtTemp.ChartObjects.Add(sngLeft, sngTop, sngWidth, sngHeight).Chart
.ChartType = xlBarClustered
.SetSourceData Source:=Union(rngData, rngAverage), PlotBy:=xlColumns
.PlotArea.Interior.ColorIndex = xlAutomatic
.HasLegend = False
With .Axes(xlCategory)
.Crosses = xlMaximum
.ReversePlotOrder = True
End With
End With
''' sngTop = sngTop + sngHeight
Next
End Sub
Sub ChartAsSheet()
'
' Macro2 Macro
' Macro recorded 14/10/2008 by Andy Pope
'
Dim rngData As Range
Dim rngAverage As Range
Set rngAverage = Sheet1.Range("A31:B31")
For Each rngData In Sheet1.Range("A1:B30").Rows
Charts.Add
With ActiveChart
.ChartType = xlBarClustered
.SetSourceData Source:=Union(rngData, rngAverage), PlotBy:=xlColumns
.PlotArea.Interior.ColorIndex = xlAutomatic
.HasLegend = False
With .Axes(xlCategory)
.Crosses = xlMaximum
.ReversePlotOrder = True
End With
End With
Next
End Sub
Bookmarks