ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Chart Object Error 91 (https://www.excelbanter.com/excel-discussion-misc-queries/235297-chart-object-error-91-a.html)

Bob Barnes

Chart Object Error 91
 
I'm an Access Programmer, but was asked why this proceduire fails w/ Error
91...
I tried setting ..Dim ActiveChart As ChartObject...but it still fails...see
where I have
"<--- Where Error 91 occurs" below. TIA - Bob

Sub ColorBySeriesName()
Dim rPatterns As Range
Dim iSeries As Long
Dim rSeries As Range

Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <--- Where Error 91 occurs
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me)
If Not rSeries Is Nothing Then
.SeriesCollection(iSeries).Interior.ColorIndex = _
rSeries.Interior.ColorIndex
End If
Next
End With
End Sub

EricG

Chart Object Error 91
 
Works fine when you actually have a chart selected. Probably the user did
not have a chart selected, hence "ActiveChart" is not defined. That's what
error 91 is telling you.

HTH,

Eric


"Bob Barnes" wrote:

I'm an Access Programmer, but was asked why this proceduire fails w/ Error
91...
I tried setting ..Dim ActiveChart As ChartObject...but it still fails...see
where I have
"<--- Where Error 91 occurs" below. TIA - Bob

Sub ColorBySeriesName()
Dim rPatterns As Range
Dim iSeries As Long
Dim rSeries As Range

Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <--- Where Error 91 occurs
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me)
If Not rSeries Is Nothing Then
.SeriesCollection(iSeries).Interior.ColorIndex = _
rSeries.Interior.ColorIndex
End If
Next
End With
End Sub


Jacob Skaria

Chart Object Error 91
 
Bob

Replace

<<With ActiveChart
by

With ActiveSheet.ChartObjects(1).Chart
(if you have only one chart)

OR

With ActiveSheet.ChartObjects("chartname").Chart
(if you have only one chart)

If this post helps click Yes
---------------
Jacob Skaria


"Bob Barnes" wrote:

I'm an Access Programmer, but was asked why this proceduire fails w/ Error
91...
I tried setting ..Dim ActiveChart As ChartObject...but it still fails...see
where I have
"<--- Where Error 91 occurs" below. TIA - Bob

Sub ColorBySeriesName()
Dim rPatterns As Range
Dim iSeries As Long
Dim rSeries As Range

Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <--- Where Error 91 occurs
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me)
If Not rSeries Is Nothing Then
.SeriesCollection(iSeries).Interior.ColorIndex = _
rSeries.Interior.ColorIndex
End If
Next
End With
End Sub


Bob Barnes

Chart Object Error 91
 
Thank you. Just tried...

....snippet...Down...
Dim ActiveChart As ChartObject

Set ActiveChart = ActiveSheet.ChartObjects("Chart 16")
Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <-- Still Error 91 here

....snippet...Up

"EricG" wrote:

Works fine when you actually have a chart selected. Probably the user did
not have a chart selected, hence "ActiveChart" is not defined. That's what
error 91 is telling you.

HTH,

Eric


"Bob Barnes" wrote:

I'm an Access Programmer, but was asked why this proceduire fails w/ Error
91...
I tried setting ..Dim ActiveChart As ChartObject...but it still fails...see
where I have
"<--- Where Error 91 occurs" below. TIA - Bob

Sub ColorBySeriesName()
Dim rPatterns As Range
Dim iSeries As Long
Dim rSeries As Range

Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <--- Where Error 91 occurs
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me)
If Not rSeries Is Nothing Then
.SeriesCollection(iSeries).Interior.ColorIndex = _
rSeries.Interior.ColorIndex
End If
Next
End With
End Sub


EricG

Chart Object Error 91
 
Bad idea!

ActiveChart is a built-in Excel object name and refers to the currently
selected chart on a sheet. You should not use that same name for your
variable. Call it something else, like "MyChart" or whatever, just not
ActiveChart.

Did you try just selected a chart on the current worksheet and then running
your original code? If that doesn't work, try Jacob's suggestion.

HTH,

Eric


"Bob Barnes" wrote:

Thank you. Just tried...

...snippet...Down...
Dim ActiveChart As ChartObject

Set ActiveChart = ActiveSheet.ChartObjects("Chart 16")
Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <-- Still Error 91 here

...snippet...Up

"EricG" wrote:

Works fine when you actually have a chart selected. Probably the user did
not have a chart selected, hence "ActiveChart" is not defined. That's what
error 91 is telling you.

HTH,

Eric


"Bob Barnes" wrote:

I'm an Access Programmer, but was asked why this proceduire fails w/ Error
91...
I tried setting ..Dim ActiveChart As ChartObject...but it still fails...see
where I have
"<--- Where Error 91 occurs" below. TIA - Bob

Sub ColorBySeriesName()
Dim rPatterns As Range
Dim iSeries As Long
Dim rSeries As Range

Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <--- Where Error 91 occurs
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me)
If Not rSeries Is Nothing Then
.SeriesCollection(iSeries).Interior.ColorIndex = _
rSeries.Interior.ColorIndex
End If
Next
End With
End Sub


Jacob Skaria

Chart Object Error 91
 
Oops. I should have removed the comment "(if you have only one chart)
" from the second option. If you have more more number of charts; specify
the name..

With ActiveSheet.ChartObjects(1).Chart
(if you have only one chart)

OR

With ActiveSheet.ChartObjects("Chart 16").Chart
(if you have multiple chart objects)

If this post helps click Yes
---------------
Jacob Skaria


"Jacob Skaria" wrote:

Bob

Replace

<<With ActiveChart
by

With ActiveSheet.ChartObjects(1).Chart
(if you have only one chart)

OR

With ActiveSheet.ChartObjects("chartname").Chart
(if you have only one chart)

If this post helps click Yes
---------------
Jacob Skaria


"Bob Barnes" wrote:

I'm an Access Programmer, but was asked why this proceduire fails w/ Error
91...
I tried setting ..Dim ActiveChart As ChartObject...but it still fails...see
where I have
"<--- Where Error 91 occurs" below. TIA - Bob

Sub ColorBySeriesName()
Dim rPatterns As Range
Dim iSeries As Long
Dim rSeries As Range

Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <--- Where Error 91 occurs
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me)
If Not rSeries Is Nothing Then
.SeriesCollection(iSeries).Interior.ColorIndex = _
rSeries.Interior.ColorIndex
End If
Next
End With
End Sub


Bob Barnes

Chart Object Error 91
 
With ActiveSheet.ChartObjects("Chart 16").Chart
....solved the problem..

Thank you & EricG - Bob

"Jacob Skaria" wrote:

Oops. I should have removed the comment "(if you have only one chart)
" from the second option. If you have more more number of charts; specify
the name..

With ActiveSheet.ChartObjects(1).Chart
(if you have only one chart)

OR

With ActiveSheet.ChartObjects("Chart 16").Chart
(if you have multiple chart objects)

If this post helps click Yes
---------------
Jacob Skaria


"Jacob Skaria" wrote:

Bob

Replace

<<With ActiveChart
by

With ActiveSheet.ChartObjects(1).Chart
(if you have only one chart)

OR

With ActiveSheet.ChartObjects("chartname").Chart
(if you have only one chart)

If this post helps click Yes
---------------
Jacob Skaria


"Bob Barnes" wrote:

I'm an Access Programmer, but was asked why this proceduire fails w/ Error
91...
I tried setting ..Dim ActiveChart As ChartObject...but it still fails...see
where I have
"<--- Where Error 91 occurs" below. TIA - Bob

Sub ColorBySeriesName()
Dim rPatterns As Range
Dim iSeries As Long
Dim rSeries As Range

Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <--- Where Error 91 occurs
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me)
If Not rSeries Is Nothing Then
.SeriesCollection(iSeries).Interior.ColorIndex = _
rSeries.Interior.ColorIndex
End If
Next
End With
End Sub


Bob Barnes

Chart Object Error 91
 
With ActiveSheet.ChartObjects("Chart 16").Chart
....solved the problem..

Thank you & Jacob - Bob


"EricG" wrote:

Bad idea!

ActiveChart is a built-in Excel object name and refers to the currently
selected chart on a sheet. You should not use that same name for your
variable. Call it something else, like "MyChart" or whatever, just not
ActiveChart.

Did you try just selected a chart on the current worksheet and then running
your original code? If that doesn't work, try Jacob's suggestion.

HTH,

Eric


"Bob Barnes" wrote:

Thank you. Just tried...

...snippet...Down...
Dim ActiveChart As ChartObject

Set ActiveChart = ActiveSheet.ChartObjects("Chart 16")
Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <-- Still Error 91 here

...snippet...Up

"EricG" wrote:

Works fine when you actually have a chart selected. Probably the user did
not have a chart selected, hence "ActiveChart" is not defined. That's what
error 91 is telling you.

HTH,

Eric


"Bob Barnes" wrote:

I'm an Access Programmer, but was asked why this proceduire fails w/ Error
91...
I tried setting ..Dim ActiveChart As ChartObject...but it still fails...see
where I have
"<--- Where Error 91 occurs" below. TIA - Bob

Sub ColorBySeriesName()
Dim rPatterns As Range
Dim iSeries As Long
Dim rSeries As Range

Set rPatterns = ActiveSheet.Range("AR6:BH235")

With ActiveChart
For iSeries = 1 To .SeriesCollection.Count <--- Where Error 91 occurs
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me)
If Not rSeries Is Nothing Then
.SeriesCollection(iSeries).Interior.ColorIndex = _
rSeries.Interior.ColorIndex
End If
Next
End With
End Sub



All times are GMT +1. The time now is 02:16 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com