Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I get the following error message when I try to run a sub in excel 2003:
"Runtime Error 91 Object Variable or With Block Variable Not Set" I receive the error when the line gets to: With ActiveChart.SeriesCollection(1) I'm assuming the means that I need to check one of the libraries in the references. If I'm incorrect or if anyone knows the correct library for the SeriesCollection method, please let me know. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You get that error when you aere working with an Object variable and then try
to assign to it as though it were a "normal" variable. To assign to an Object variable you neeed to use the Set keyword, e.g. Set MyObject = ActiveChart -- Time is just the thing that keeps everything from happening all at once "Qaspec" wrote: I get the following error message when I try to run a sub in excel 2003: "Runtime Error 91 Object Variable or With Block Variable Not Set" I receive the error when the line gets to: With ActiveChart.SeriesCollection(1) I'm assuming the means that I need to check one of the libraries in the references. If I'm incorrect or if anyone knows the correct library for the SeriesCollection method, please let me know. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
For the code to execute, there must be a chart that is active.
That means your code must have selected the chart or the chart must have been selected manually (click the chart) before the code was run. Also, there must be a Series on the chart. You should have specified what XL version you are running. If you are running xl2007, I wouldn't hazard a guess. -- Jim Cone Portland, Oregon USA "Qaspec" wrote in message I get the following error message when I try to run a sub in excel 2003: "Runtime Error 91 Object Variable or With Block Variable Not Set" I receive the error when the line gets to: With ActiveChart.SeriesCollection(1) I'm assuming the means that I need to check one of the libraries in the references. If I'm incorrect or if anyone knows the correct library for the SeriesCollection method, please let me know. |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I click the chart in order to run the code and I'm using xl2003.
Here is the macro Sub ColorByValue() Dim rPatterns As Range Dim iPattern As Long Dim vPatterns As Variant Dim iPoint As Long Dim vValues As Variant Dim rValue As Range Set rPatterns = ActiveSheet.Range("T1:T3") vPatterns = rPatterns.Value With ActiveChart.SeriesCollection(1) vValues = .Values For iPoint = 1 To UBound(vValues) For iPattern = 1 To UBound(vPatterns) If vValues(iPoint) <= vPatterns(iPattern, 1) Then .Points(iPoint).Interior.ColorIndex = _ rPatterns.Cells(iPattern, 1).Interior.ColorIndex Exit For End If Next Next End With End Sub "Jim Cone" wrote: For the code to execute, there must be a chart that is active. That means your code must have selected the chart or the chart must have been selected manually (click the chart) before the code was run. Also, there must be a Series on the chart. You should have specified what XL version you are running. If you are running xl2007, I wouldn't hazard a guess. -- Jim Cone Portland, Oregon USA "Qaspec" wrote in message I get the following error message when I try to run a sub in excel 2003: "Runtime Error 91 Object Variable or With Block Variable Not Set" I receive the error when the line gets to: With ActiveChart.SeriesCollection(1) I'm assuming the means that I need to check one of the libraries in the references. If I'm incorrect or if anyone knows the correct library for the SeriesCollection method, please let me know. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() I ran your code on a column chart in XL2002 with no problems. -- Jim Cone Portland, Oregon USA "Qaspec" wrote in message I click the chart in order to run the code and I'm using xl2003. Here is the macro Sub ColorByValue() Dim rPatterns As Range Dim iPattern As Long Dim vPatterns As Variant Dim iPoint As Long Dim vValues As Variant Dim rValue As Range Set rPatterns = ActiveSheet.Range("T1:T3") vPatterns = rPatterns.Value With ActiveChart.SeriesCollection(1) vValues = .Values For iPoint = 1 To UBound(vValues) For iPattern = 1 To UBound(vPatterns) If vValues(iPoint) <= vPatterns(iPattern, 1) Then .Points(iPoint).Interior.ColorIndex = _ rPatterns.Cells(iPattern, 1).Interior.ColorIndex Exit For End If Next Next End With End Sub |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Then is it xl2003? Maybe my method of placement? I placed the code in vba
project in a module and went to the chart and assigned the macro from there. At that point I click on the chart to run the macro is where I get the error message. My Macro security is set to low, and trust all sources, and allow access to vba project. I did notice that when I searched for the ActiveChart object in the vba object browser it gave me a message saying it was hidden. "Jim Cone" wrote: I ran your code on a column chart in XL2002 with no problems. -- Jim Cone Portland, Oregon USA "Qaspec" wrote in message I click the chart in order to run the code and I'm using xl2003. Here is the macro Sub ColorByValue() Dim rPatterns As Range Dim iPattern As Long Dim vPatterns As Variant Dim iPoint As Long Dim vValues As Variant Dim rValue As Range Set rPatterns = ActiveSheet.Range("T1:T3") vPatterns = rPatterns.Value With ActiveChart.SeriesCollection(1) vValues = .Values For iPoint = 1 To UBound(vValues) For iPattern = 1 To UBound(vPatterns) If vValues(iPoint) <= vPatterns(iPattern, 1) Then .Points(iPoint).Interior.ColorIndex = _ rPatterns.Cells(iPattern, 1).Interior.ColorIndex Exit For End If Next Next End With End Sub |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Change the unwilling line to...
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection (1) The above assumes there is only one chart on the sheet or that it is the first chart that was added to the sheet. -- Jim Cone Portland, Oregon USA "Qaspec" wrote in message Then is it xl2003? Maybe my method of placement? I placed the code in vba project in a module and went to the chart and assigned the macro from there. At that point I click on the chart to run the macro is where I get the error message. My Macro security is set to low, and trust all sources, and allow access to vba project. I did notice that when I searched for the ActiveChart object in the vba object browser it gave me a message saying it was hidden. "Jim Cone" wrote: I ran your code on a column chart in XL2002 with no problems. -- Jim Cone Portland, Oregon USA |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
run time error 1004 general odbc error excel 2003 vba | Excel Programming | |||
Error handling error # 1004 Run-time error | Excel Programming | |||
run-time error '1004': Application-defined or object-deifined error | Excel Programming | |||
Befuddled with For Next Loop ------ Run - Time Error '13' Type Mismatch Error | Excel Programming | |||
Code Error - Run Time Error 5 (Disable Cut, Copy & Paste) | Excel Programming |