Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 102
Default Help with the following code

I have cells that are set with conditional formatting to be either red,
yellow, or green. I am trying to loop through the cells, and when the cell
color is red I need to increment the "intOutOfLimit counter". The problem I
am having is everything I have tried, including the code below, when the
statement "ColorIndex < 10" is executed it returns a value of -4142 for each
cell no matter what the color. Does anyone have any suggestions.
Thanks,
Vince

Do Until rw = 22
For i = 2 To 26
If Sheets("PM").Cells(rw, cl).Interior.ColorIndex < 10 Then
intOutOfLimit = intOutOfLimit + 1
End If
cl = cl + 1
Next
cl = 2
rw = rw + 1
Loop

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Help with the following code

CF doesn't set the colorindex. To test what colour a cell is with CF, you
have to test whether it matches the condition within CF.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Vince" wrote in message
...
I have cells that are set with conditional formatting to be either red,
yellow, or green. I am trying to loop through the cells, and when the

cell
color is red I need to increment the "intOutOfLimit counter". The problem

I
am having is everything I have tried, including the code below, when the
statement "ColorIndex < 10" is executed it returns a value of -4142 for

each
cell no matter what the color. Does anyone have any suggestions.
Thanks,
Vince

Do Until rw = 22
For i = 2 To 26
If Sheets("PM").Cells(rw, cl).Interior.ColorIndex < 10 Then
intOutOfLimit = intOutOfLimit + 1
End If
cl = cl + 1
Next
cl = 2
rw = rw + 1
Loop



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 102
Default Help with the following code

There are 15 rows by 25 columns. Each row has a different CF that applies to
all of the columns in that row. I think you are saying to check the value of
the cell against the CF condition, but I would have to code the CF condition,
or try to put it in a table of cells somewhere wouldn't I? I there not a way
in VB to check the CF condition, what state it is, or what color it is?
For example row 10 CF is this: Between .49 and .54 = Green, < .49 = Yellow,
and .54 = Red.

Thanks for your help
Vince
"Bob Phillips" wrote:

CF doesn't set the colorindex. To test what colour a cell is with CF, you
have to test whether it matches the condition within CF.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Vince" wrote in message
...
I have cells that are set with conditional formatting to be either red,
yellow, or green. I am trying to loop through the cells, and when the

cell
color is red I need to increment the "intOutOfLimit counter". The problem

I
am having is everything I have tried, including the code below, when the
statement "ColorIndex < 10" is executed it returns a value of -4142 for

each
cell no matter what the color. Does anyone have any suggestions.
Thanks,
Vince

Do Until rw = 22
For i = 2 To 26
If Sheets("PM").Cells(rw, cl).Interior.ColorIndex < 10 Then
intOutOfLimit = intOutOfLimit + 1
End If
cl = cl + 1
Next
cl = 2
rw = rw + 1
Loop




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Help with the following code

No there isn't a way to do that directly.

Chip Pearson illustrates one approach:

http://www.cpearson.com/excel/CFColors.htm

--
Regards,
Tom Ogilvy


"Vince" wrote in message
...
There are 15 rows by 25 columns. Each row has a different CF that applies

to
all of the columns in that row. I think you are saying to check the value

of
the cell against the CF condition, but I would have to code the CF

condition,
or try to put it in a table of cells somewhere wouldn't I? I there not a

way
in VB to check the CF condition, what state it is, or what color it is?
For example row 10 CF is this: Between .49 and .54 = Green, < .49 =

Yellow,
and .54 = Red.

Thanks for your help
Vince
"Bob Phillips" wrote:

CF doesn't set the colorindex. To test what colour a cell is with CF,

you
have to test whether it matches the condition within CF.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Vince" wrote in message
...
I have cells that are set with conditional formatting to be either

red,
yellow, or green. I am trying to loop through the cells, and when the

cell
color is red I need to increment the "intOutOfLimit counter". The

problem
I
am having is everything I have tried, including the code below, when

the
statement "ColorIndex < 10" is executed it returns a value of -4142

for
each
cell no matter what the color. Does anyone have any suggestions.
Thanks,
Vince

Do Until rw = 22
For i = 2 To 26
If Sheets("PM").Cells(rw, cl).Interior.ColorIndex < 10

Then
intOutOfLimit = intOutOfLimit + 1
End If
cl = cl + 1
Next
cl = 2
rw = rw + 1
Loop






  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 102
Default Help with the following code

Tom,
Thanks for the link, now could I bother you for one more bit of advice. The
discription of the code below is exactly what I want to do. I want to "sum
the cells that have a specified background color applied by conditional
formatting". My question is how do I make the call to this function? The
range of the cells in my worksheet is "B7:Z21" and the color I want to sum on
is anything other than green. Reading the info at the link you provided it
looks like I would not need the "GetStripped" code but I am not sure of that.
I would appreciate any feedback or suggestions you could provide. What I am
trying to do is calculate what percentage of cells in the given range are not
green, or out of spec.

Thanks for you help
Vince

Function SumByCFColorIndex(Rng As Range, CI As Integer) As Double
Dim R As Range
Dim Total As Double
For Each R In Rng.Cells
If ColorIndexOfCF(R, False) = CI Then
Total = Total + R.Value
End If
Next R
SumByCFColorIndex = Total
End Function


"Tom Ogilvy" wrote:

No there isn't a way to do that directly.

Chip Pearson illustrates one approach:

http://www.cpearson.com/excel/CFColors.htm

--
Regards,
Tom Ogilvy


"Vince" wrote in message
...
There are 15 rows by 25 columns. Each row has a different CF that applies

to
all of the columns in that row. I think you are saying to check the value

of
the cell against the CF condition, but I would have to code the CF

condition,
or try to put it in a table of cells somewhere wouldn't I? I there not a

way
in VB to check the CF condition, what state it is, or what color it is?
For example row 10 CF is this: Between .49 and .54 = Green, < .49 =

Yellow,
and .54 = Red.

Thanks for your help
Vince
"Bob Phillips" wrote:

CF doesn't set the colorindex. To test what colour a cell is with CF,

you
have to test whether it matches the condition within CF.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Vince" wrote in message
...
I have cells that are set with conditional formatting to be either

red,
yellow, or green. I am trying to loop through the cells, and when the
cell
color is red I need to increment the "intOutOfLimit counter". The

problem
I
am having is everything I have tried, including the code below, when

the
statement "ColorIndex < 10" is executed it returns a value of -4142

for
each
cell no matter what the color. Does anyone have any suggestions.
Thanks,
Vince

Do Until rw = 22
For i = 2 To 26
If Sheets("PM").Cells(rw, cl).Interior.ColorIndex < 10

Then
intOutOfLimit = intOutOfLimit + 1
End If
cl = cl + 1
Next
cl = 2
rw = rw + 1
Loop









  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 102
Default Help with the following code

I found the correct way to make the call. Thanks for the link it was a great
help!

Vince

"Tom Ogilvy" wrote:

No there isn't a way to do that directly.

Chip Pearson illustrates one approach:

http://www.cpearson.com/excel/CFColors.htm

--
Regards,
Tom Ogilvy


"Vince" wrote in message
...
There are 15 rows by 25 columns. Each row has a different CF that applies

to
all of the columns in that row. I think you are saying to check the value

of
the cell against the CF condition, but I would have to code the CF

condition,
or try to put it in a table of cells somewhere wouldn't I? I there not a

way
in VB to check the CF condition, what state it is, or what color it is?
For example row 10 CF is this: Between .49 and .54 = Green, < .49 =

Yellow,
and .54 = Red.

Thanks for your help
Vince
"Bob Phillips" wrote:

CF doesn't set the colorindex. To test what colour a cell is with CF,

you
have to test whether it matches the condition within CF.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Vince" wrote in message
...
I have cells that are set with conditional formatting to be either

red,
yellow, or green. I am trying to loop through the cells, and when the
cell
color is red I need to increment the "intOutOfLimit counter". The

problem
I
am having is everything I have tried, including the code below, when

the
statement "ColorIndex < 10" is executed it returns a value of -4142

for
each
cell no matter what the color. Does anyone have any suggestions.
Thanks,
Vince

Do Until rw = 22
For i = 2 To 26
If Sheets("PM").Cells(rw, cl).Interior.ColorIndex < 10

Then
intOutOfLimit = intOutOfLimit + 1
End If
cl = cl + 1
Next
cl = 2
rw = rw + 1
Loop







  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Help with the following code

Hi Vince,

Try using the conditional formatting condition as the variable increment
trigger.


---
Regards,
Norman



"Vince" wrote in message
...
I have cells that are set with conditional formatting to be either red,
yellow, or green. I am trying to loop through the cells, and when the
cell
color is red I need to increment the "intOutOfLimit counter". The problem
I
am having is everything I have tried, including the code below, when the
statement "ColorIndex < 10" is executed it returns a value of -4142 for
each
cell no matter what the color. Does anyone have any suggestions.
Thanks,
Vince

Do Until rw = 22
For i = 2 To 26
If Sheets("PM").Cells(rw, cl).Interior.ColorIndex < 10 Then
intOutOfLimit = intOutOfLimit + 1
End If
cl = cl + 1
Next
cl = 2
rw = rw + 1
Loop



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
split post code (zip code) out of cell that includes full address Concord Excel Discussion (Misc queries) 4 October 15th 09 06:59 PM
Drop Down/List w/Code and Definition, only code entered when selec Spiritdancer Excel Worksheet Functions 2 November 2nd 07 03:57 AM
run code on opening workbook and apply code to certain sheets Jane Excel Programming 7 August 8th 05 09:15 AM
Create a newworksheet with VBA code and put VBA code in the new worksheet module ceshelman Excel Programming 4 June 15th 05 04:37 PM
stubborn Excel crash when editing code with code, one solution Brian Murphy Excel Programming 0 February 20th 05 05:56 AM


All times are GMT +1. The time now is 10:37 PM.

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"