ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Conditional Formatting and Interior.ColorIndex (https://www.excelbanter.com/excel-programming/408319-conditional-formatting-interior-colorindex.html)

Farrar > Tweety

Conditional Formatting and Interior.ColorIndex
 
Windows XP Pro SP2
Excel 2002 SP3

Seems that cells that are conditionally formatted don't return an expected
Interior.ColorIndex value.

I am using this bit of code:

Set rng1 = Range("B20:P20")
For Each c1 In rng1.Cells
v1 = c1.Value
If v1 < "" Then
Set rng2 = Range(c1.Offset(3, 0), c1.Offset(32770, 0))
rng2.FormatConditions.Add xlCellValue, xlEqual, v1
rng2.FormatConditions(1).Interior.ColorIndex = 4
rng2.FormatConditions.Add xlCellValue, xlNotEqual, v1
rng2.FormatConditions(2).Interior.ColorIndex = 46
End If
Next c1

This works fine and colors the interiors as I would expect. However, if I
add this after the last line above

MsgBox Range("G23").Interior.ColorIndex 'G23 is colored red (46)

the message box says -4142.

What's up with that?

Any help greatly appreciated.

-gk-

GO TAR HEELS ! ! !




Jim Cone

Conditional Formatting and Interior.ColorIndex
 

-4142 is the value assigned to at least two Excel constants...
xlNone and xlColorIndexNone

Colors provided by Conditional formatting operate by their own rules.
They cannot be accessed using "colorindex".
See the Chip Pearson discussion here...
http://www.cpearson.com/excel/CFColors.htm
Get plenty of sleep first and pack a lunch. <g

You may have some interest in the free Excel add-in "Determine Colors".
It can be downloaded from the bottom of the Products page at my website.
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)





"Farrar Tweety"
wrote in message
Windows XP Pro SP2
Excel 2002 SP3

Seems that cells that are conditionally formatted don't return an expected
Interior.ColorIndex value.
I am using this bit of code:

Set rng1 = Range("B20:P20")
For Each c1 In rng1.Cells
v1 = c1.Value
If v1 < "" Then
Set rng2 = Range(c1.Offset(3, 0), c1.Offset(32770, 0))
rng2.FormatConditions.Add xlCellValue, xlEqual, v1
rng2.FormatConditions(1).Interior.ColorIndex = 4
rng2.FormatConditions.Add xlCellValue, xlNotEqual, v1
rng2.FormatConditions(2).Interior.ColorIndex = 46
End If
Next c1

This works fine and colors the interiors as I would expect. However, if I
add this after the last line above

MsgBox Range("G23").Interior.ColorIndex 'G23 is colored red (46)

the message box says -4142.

What's up with that?

Any help greatly appreciated.

-gk-

GO TAR HEELS ! ! !




Farrar > Tweety

Conditional Formatting and Interior.ColorIndex
 

Thank you Jim, and sorry for the double post. Chip's site has long been
bookmarked, so I suppose I probably should have looked there first. <g

Looks like I'll be bookmarking your site as well. Thanks!!

-gk-


"Jim Cone" wrote in message
...

-4142 is the value assigned to at least two Excel constants...
xlNone and xlColorIndexNone

Colors provided by Conditional formatting operate by their own rules.
They cannot be accessed using "colorindex".
See the Chip Pearson discussion here...
http://www.cpearson.com/excel/CFColors.htm
Get plenty of sleep first and pack a lunch. <g

You may have some interest in the free Excel add-in "Determine Colors".
It can be downloaded from the bottom of the Products page at my website.
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)





"Farrar Tweety"
wrote in message
Windows XP Pro SP2
Excel 2002 SP3

Seems that cells that are conditionally formatted don't return an expected
Interior.ColorIndex value.
I am using this bit of code:

Set rng1 = Range("B20:P20")
For Each c1 In rng1.Cells
v1 = c1.Value
If v1 < "" Then
Set rng2 = Range(c1.Offset(3, 0), c1.Offset(32770, 0))
rng2.FormatConditions.Add xlCellValue, xlEqual, v1
rng2.FormatConditions(1).Interior.ColorIndex = 4
rng2.FormatConditions.Add xlCellValue, xlNotEqual, v1
rng2.FormatConditions(2).Interior.ColorIndex = 46
End If
Next c1

This works fine and colors the interiors as I would expect. However, if I
add this after the last line above

MsgBox Range("G23").Interior.ColorIndex 'G23 is colored red (46)

the message box says -4142.

What's up with that?

Any help greatly appreciated.

-gk-

GO TAR HEELS ! ! !






JLGWhiz

Conditional Formatting and Interior.ColorIndex
 
If you use this syntax it will produce the ColorIndex number you are looking
for.

MsgBox Range("G23").FormatConditions(2).Interior.ColorInd ex

The problem is that you cannot use a generic FormatConditions, it must be
specific as (1), (2) or (3).



"Farrar Tweety" wrote:

Windows XP Pro SP2
Excel 2002 SP3

Seems that cells that are conditionally formatted don't return an expected
Interior.ColorIndex value.

I am using this bit of code:

Set rng1 = Range("B20:P20")
For Each c1 In rng1.Cells
v1 = c1.Value
If v1 < "" Then
Set rng2 = Range(c1.Offset(3, 0), c1.Offset(32770, 0))
rng2.FormatConditions.Add xlCellValue, xlEqual, v1
rng2.FormatConditions(1).Interior.ColorIndex = 4
rng2.FormatConditions.Add xlCellValue, xlNotEqual, v1
rng2.FormatConditions(2).Interior.ColorIndex = 46
End If
Next c1

This works fine and colors the interiors as I would expect. However, if I
add this after the last line above

MsgBox Range("G23").Interior.ColorIndex 'G23 is colored red (46)

the message box says -4142.

What's up with that?

Any help greatly appreciated.

-gk-

GO TAR HEELS ! ! !






All times are GMT +1. The time now is 07:17 PM.

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