Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Chart Numbering problem


Excel 2003 with VBA 6.3

Below is a short routine that is supposed to take data from an open
worksheet that has values in certin locations, and plot 3 data series
in each of 3 different charts.

The plotting works fine (have only gotten through the I = 1 condition)
except when I get down to the following line(Bold Font):



Code:
--------------------
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Chart " & I).IncrementLeft 1200
ActiveSheet.Shapes("Chart " & I).IncrementTop Top
Top = Top + 200
--------------------

I get the following message:
"The item with the specified name wasn't found"

The first time through the For...Next Loop the name should be "Chart
1", but somehow, I've discovered that the name becomes "Chart 2".

I don't know why it is changed. I save, then close the worksheet with
no other charts on it. I then reopen the worksheet. I even noticed that
when I stepped through the program that the first chart that is created
appears on a sheet named "Chart1"

Any clues?


Code:
--------------------
Option Explicit
Dim GetRow As Integer
Dim GetCol As Integer
Dim I As Integer
Dim J As Integer
Dim XAxisTitle As String
Dim YAxisTitle As String
Dim ChartTitle As String
Dim ReagentName As String
Dim MaterialType(3) As String
Dim Count As Integer
Dim FilterFileList
Dim MyStoredCalFile

Sub StoredCalPlots()

Count = 2 'Data contained on Sheet 2; Sheet 1 is where chart gets created

Range("A1").Select

XAxisTitle = "Analysis Date"
YAxisTitle = "Concentration Mean"
ReagentName = Range("C3").Value
Sheets(1).Name = ReagentName

GetRow = 7
GetCol = 5

Top = 0

For I = 1 To 3

MaterialType(I) = Range(Cells(GetRow, GetCol), Cells(GetRow, GetCol)).Value

Charts.Add
ActiveChart.SeriesCollection(1).Delete
ActiveChart.ChartType = xlXYScatterSmooth

ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries

'Concentration Mean

ActiveChart.SeriesCollection(1).XValues = "= '" & Sheets(Count).Name & "'!" & "R8C4:R17C4" 'Analysis Date(always the same)
ActiveChart.SeriesCollection(1).Values = "= '" & Sheets(Count).Name & "'!" & "R8C" & GetCol & ":R17C" & GetCol 'Concentration Means for each material type
ActiveChart.SeriesCollection(1).Name = MaterialType(I)

'-2 SD Line

ActiveChart.SeriesCollection(2).XValues = "= '" & Sheets(Count).Name & "'!" & "R25C4:R26C4"
ActiveChart.SeriesCollection(2).Values = "= '" & Sheets(Count).Name & "'!" & "R25C5:R26C5"
ActiveChart.SeriesCollection(2).Name = "= '" & Sheets(Count).Name & "'!" & "R25C8"

'+2 SD Line

ActiveChart.SeriesCollection(3).XValues = "= '" & Sheets(Count).Name & "'!" & "R27C4:R28C4"
ActiveChart.SeriesCollection(3).Values = "= '" & Sheets(Count).Name & "'!" & "R27C5:R28C5"
ActiveChart.SeriesCollection(3).Name = "= '" & Sheets(Count).Name & "'!" & "R27C8"

ActiveChart.Location Whe=xlLocationAsObject, Name:=Sheets(Count).Name

With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = ReagentName & " " & MaterialType(I)
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = XAxisTitle
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = YAxisTitle
End With

ActiveChart.PlotArea.Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
Selection.Interior.ColorIndex = xlNone
ActiveChart.Axes(xlValue).MajorGridlines.Select
With Selection.Border
.ColorIndex = 2
.Weight = xlHairline
.LineStyle = xlContinuous
End With

'Format Data Series -2 SD

ActiveChart.SeriesCollection(2).Select
With Selection.Border
.ColorIndex = 1
.Weight = xlThin
.LineStyle = xlDot
End With
With Selection
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
.MarkerStyle = xlSquare
.Smooth = True
.MarkerSize = 5
.Shadow = False
End With

'Format Data Series +2 SD

ActiveChart.SeriesCollection(3).Select
With Selection.Border
.ColorIndex = 1
.Weight = xlThin
.LineStyle = xlDot
End With
With Selection
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
.MarkerStyle = xlTriangle
.Smooth = True
.MarkerSize = 5
.Shadow = False
End With

ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Chart " & I).IncrementLeft 1200
ActiveSheet.Shapes("Chart " & I).IncrementTop Top
Top = Top + 200

ActiveSheet.Shapes("Chart " & I).ScaleWidth 1.3, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("Chart " & I).ScaleHeight 1.3, msoFalse, msoScaleFromTopLeft
'ActiveChart.Legend.Select
'Selection.Delete

GetCol = GetCol + 1

Next I

Range("A1").Select
--------------------


--
scantor145
------------------------------------------------------------------------
scantor145's Profile: http://www.excelforum.com/member.php...o&userid=14766
View this thread: http://www.excelforum.com/showthread...hreadid=535500

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,489
Default Chart Numbering problem

Hi,

Try using the chartobjects name.

with ActiveSheet.Shapes(activechart.parent.name)
.IncrementLeft 1200
.IncrementTop Top
Top = Top + 200
.ScaleWidth 1.3, msoFalse, msoScaleFromTopLeft
.ScaleHeight 1.3, msoFalse, msoScaleFromTopLeft
end with

Cheers
Andy

scantor145 wrote:
Excel 2003 with VBA 6.3

Below is a short routine that is supposed to take data from an open
worksheet that has values in certin locations, and plot 3 data series
in each of 3 different charts.

The plotting works fine (have only gotten through the I = 1 condition)
except when I get down to the following line(Bold Font):



Code:
--------------------
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Chart " & I).IncrementLeft 1200
ActiveSheet.Shapes("Chart " & I).IncrementTop Top
Top = Top + 200
--------------------

I get the following message:
"The item with the specified name wasn't found"

The first time through the For...Next Loop the name should be "Chart
1", but somehow, I've discovered that the name becomes "Chart 2".

I don't know why it is changed. I save, then close the worksheet with
no other charts on it. I then reopen the worksheet. I even noticed that
when I stepped through the program that the first chart that is created
appears on a sheet named "Chart1"

Any clues?


Code:
--------------------
Option Explicit
Dim GetRow As Integer
Dim GetCol As Integer
Dim I As Integer
Dim J As Integer
Dim XAxisTitle As String
Dim YAxisTitle As String
Dim ChartTitle As String
Dim ReagentName As String
Dim MaterialType(3) As String
Dim Count As Integer
Dim FilterFileList
Dim MyStoredCalFile

Sub StoredCalPlots()

Count = 2 'Data contained on Sheet 2; Sheet 1 is where chart gets created

Range("A1").Select

XAxisTitle = "Analysis Date"
YAxisTitle = "Concentration Mean"
ReagentName = Range("C3").Value
Sheets(1).Name = ReagentName

GetRow = 7
GetCol = 5

Top = 0

For I = 1 To 3

MaterialType(I) = Range(Cells(GetRow, GetCol), Cells(GetRow, GetCol)).Value

Charts.Add
ActiveChart.SeriesCollection(1).Delete
ActiveChart.ChartType = xlXYScatterSmooth

ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries

'Concentration Mean

ActiveChart.SeriesCollection(1).XValues = "= '" & Sheets(Count).Name & "'!" & "R8C4:R17C4" 'Analysis Date(always the same)
ActiveChart.SeriesCollection(1).Values = "= '" & Sheets(Count).Name & "'!" & "R8C" & GetCol & ":R17C" & GetCol 'Concentration Means for each material type
ActiveChart.SeriesCollection(1).Name = MaterialType(I)

'-2 SD Line

ActiveChart.SeriesCollection(2).XValues = "= '" & Sheets(Count).Name & "'!" & "R25C4:R26C4"
ActiveChart.SeriesCollection(2).Values = "= '" & Sheets(Count).Name & "'!" & "R25C5:R26C5"
ActiveChart.SeriesCollection(2).Name = "= '" & Sheets(Count).Name & "'!" & "R25C8"

'+2 SD Line

ActiveChart.SeriesCollection(3).XValues = "= '" & Sheets(Count).Name & "'!" & "R27C4:R28C4"
ActiveChart.SeriesCollection(3).Values = "= '" & Sheets(Count).Name & "'!" & "R27C5:R28C5"
ActiveChart.SeriesCollection(3).Name = "= '" & Sheets(Count).Name & "'!" & "R27C8"

ActiveChart.Location Whe=xlLocationAsObject, Name:=Sheets(Count).Name

With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = ReagentName & " " & MaterialType(I)
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = XAxisTitle
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = YAxisTitle
End With

ActiveChart.PlotArea.Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
Selection.Interior.ColorIndex = xlNone
ActiveChart.Axes(xlValue).MajorGridlines.Select
With Selection.Border
.ColorIndex = 2
.Weight = xlHairline
.LineStyle = xlContinuous
End With

'Format Data Series -2 SD

ActiveChart.SeriesCollection(2).Select
With Selection.Border
.ColorIndex = 1
.Weight = xlThin
.LineStyle = xlDot
End With
With Selection
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
.MarkerStyle = xlSquare
.Smooth = True
.MarkerSize = 5
.Shadow = False
End With

'Format Data Series +2 SD

ActiveChart.SeriesCollection(3).Select
With Selection.Border
.ColorIndex = 1
.Weight = xlThin
.LineStyle = xlDot
End With
With Selection
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
.MarkerStyle = xlTriangle
.Smooth = True
.MarkerSize = 5
.Shadow = False
End With

ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Chart " & I).IncrementLeft 1200
ActiveSheet.Shapes("Chart " & I).IncrementTop Top
Top = Top + 200

ActiveSheet.Shapes("Chart " & I).ScaleWidth 1.3, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("Chart " & I).ScaleHeight 1.3, msoFalse, msoScaleFromTopLeft
'ActiveChart.Legend.Select
'Selection.Delete

GetCol = GetCol + 1

Next I

Range("A1").Select
--------------------



--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info
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
auto numbering problem Seeker Excel Discussion (Misc queries) 2 April 4th 09 08:11 AM
Sorting / Numbering problem Gerben Dirksen Excel Worksheet Functions 2 October 16th 07 01:25 PM
Numbering Problem tartan tim Excel Discussion (Misc queries) 2 April 23rd 07 12:50 PM
Problem with Page Numbering Aurora Excel Discussion (Misc queries) 0 November 21st 05 02:10 PM
Chart numbering Robin Clay[_3_] Excel Programming 0 June 24th 04 08:46 PM


All times are GMT +1. The time now is 10:18 AM.

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"