View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Macro to select cells within a range in which the cell color is none

I said:
Interior.ColorIndex is not altered by conditional formatting.


I also gave you a reference to a web page that gives you the code to do what
you describe.

--
Regards,
Tom Ogilvy

"PCLIVE" wrote in message
...
Tom,

Your revised code does in fact select all the cells in the range. Not

just
the ones that I want. Apparently when a cell is shaded due to conditional
formatting, it is not the same as the cell.ColorIndex. So maybe there is
another way to do this. Would it be possible to have code that would
determine if FormatConditions(1) is true? Then this could become the
strSubSet or Union.

I appreciate the help.
Paul

"Tom Ogilvy" wrote in message
...
It is best to check the condition that governs the conditional

formatting.
Interior.ColorIndex is not altered by conditional formatting. Checking

it
is extremely complex and inefficient - thus the advice to check the
condition itself.

However, the problem with error produced by the original code is

checking
for zero instead of checking for xlNone would be my guess.

My revised code should select all your cells.

If you really want to check for the color produced by conditional
formatting, look at Chip Pearson's page on this:

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

--
Regards,
Tom Ogilvy



"PCLIVE" wrote in message
...
I forgot to include this.

The cells that are being colored, are done so through conditional
formatting. I think that may be part of my problem. Is there a way to
apply your code to cells that have Conditional Formatting applied to
them?

Thanks again,
Paul

"PCLIVE" wrote in message
...
Thanks for the response

I tried this and I get a "Run-time error '5': Invalid procedure call
or
argument" at:
strSubSet = Left(strSubSet, Len(strSubSet) - 1)

I pasted the code exactly with no other code involved. Am I missing
something?

Thanks,
Paul



"Executor" wrote in message
oups.com...
Hi Paul,

Try this:

Sub SelectWithBlancInterior()
Dim rngLoop As Range
Dim strSubSet As String
'
For Each rngLoop In Range("A2", "A27")
If rngLoop.Interior.ColorIndex = 0 Then
strSubSet = strSubSet & rngLoop.Address & ","
End If
Next
strSubSet = Left(strSubSet, Len(strSubSet) - 1)

Range(strSubSet).Select

End Sub


Hoop that helps,

Wouter