View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Greg Fish Greg Fish is offline
external usenet poster
 
Posts: 10
Default Problem programming .SeriesCollection().XValues and .Values

Peter T -

I followed your suggestion as shown

Sub graphIt(x1Axis As String, y1Axis As String, x_EST As String, y_EST As
String, curve As String)

Dim Y_data_range As String
Dim X_data_range As String
Dim Y_est_data_range As String
Dim X_est_data_range As String
Dim fittedCurve As String
Dim fuelCurve As ChartObject

Y_data_range = y1Axis
X_data_range = x1Axis
Y_est_data_range = y_EST
X_est_data_range = x_EST
fittedCurve = curve

Set fuelCurve = ActiveSheet.ChartObjects.Add _
(Left:=500, Width:=750, Top:=150, Height:=450)
With fuelCurve.Chart

'make smoth XY Scatter Chart
.chartType = xlXYScatterSmooth
'
' add series from selected name ranges
With .SeriesCollection.NewSeries
.Name = "Data"
.XValues = "=" & X_data_range

LIND OF CODE ABOVE TRIGGERS RUN TIME ERROR UNABLE TO SET THE XVALUES
PROPERTY OF THE SERIES CLASS (note used all CAPS to distinguish text)

.Values = "=" & Y_data_range
End With
With .SeriesCollection.NewSeries
.Name = "Estimated"
.XValues = "=" & X_est_data_range
.Values = "=" & Y_est_data_range
End With
End With
End Sub

With recommended changes still getting an error, that I was having before.
I have a named range, which I am basically passing as a string argument to
the function, this seems pretty straightforward, since the string should just
serve as an argument for the function call, in this case XValues. Thanks for
your help.

Greg

"Peter T" wrote:

'make smoth XY Scatter Chart
.chartType = xlXYScatterSmooth
'
' add series from selected name ranges
.SeriesCollection(1).Name = "Data" (ERROR occurs here)


At this point your chart doesn't have any series, try
With .SeriesCollection.NewSeries
.Name = "Data"
' etc
end with

And similar for subsequent series. Or,
Dim sr as Series
' code
Set sr =.SeriesCollection.NewSeries
and work with 'sr'

In passing, this can't be right -
Dim Y_data_range As String
Set Y_data_range = OLEObject.Sheet(Sheet2).Range(y1Axis)


Regards,
Peter T


"Greg Fish" wrote in message
...
Hi everyone. I am having a difficult time programmatically assigning a

named
range using the method SeriesCollection().XValue and

SeriesCollection().Value.

I keep getting the following error message, "Run time error '1004' Unable

to
set the Values property of the Series class. I am fairly novice VBA
programmer, mostly self taught, I have learned signigicantly over the last
few months but cannot overcome this one error. I have tried to emulate

the
code written by Jon Peltier in his VBA and Chart primer, from his website.

my code is below,

Sub graphIt(x1Axis As String, y1Axis As String, x_EST As String, y_EST As
String, curve As String)
Dim objWorkSheet As Object
Dim Y_data_range As String
Dim X_data_range As String
Dim Y_est_data_range As String
Dim X_est_data_range As String
Dim fittedCurve As String
Dim fuelCurve As ChartObject

Set Y_data_range = OLEObject.Sheet(Sheet2).Range(y1Axis)
X_data_range = x1Axis
Y_est_data_range = y_EST
X_est_data_range = x_EST
fittedCurve = curve

Set fuelCurve = ActiveSheet.ChartObjects.Add _
(Left:=500, Width:=750, Top:=150, Height:=450)
With fuelCurve.Chart

'make smoth XY Scatter Chart
.chartType = xlXYScatterSmooth
'
' add series from selected name ranges
.SeriesCollection(1).Name = "Data" (ERROR occurs here)
.SeriesCollection(1).XValues = "=(Sheet2!)" & X_data_range
.SeriesCollection(1).Values = "=" (Sheet2!)" & Y_data_range
.SeriesCollection(2).Name = "Estimated"
.SeriesCollection(2).XValues = "=(Sheet2!)" & X_est_data_range
.SeriesCollection(2).Values = "=(Sheet2!)" & Y_est_data_range
End With
End Sub


Regards,
Greg