ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Conditional formatting code wont work (https://www.excelbanter.com/excel-programming/330977-conditional-formatting-code-wont-work.html)

Robert Hargreaves[_2_]

Conditional formatting code wont work
 
Hi I am trying to code my conditional formatting as I have more than 3
clauses to use.

I cant seem to get the code to work no matter what I name the sub. What do
I need to name it?

Select Case ActiveCell.Value
Case namedrange1 And < namedrange2
Selection.Interior.ColorIndex = 6
Case namedrange2 And <namedrange 3
Selection.Interior.ColorIndex = 5
End Select

If I need to write some more code what would it include?

Thanks for your help.
Rob




Nick Hebb

Conditional formatting code wont work
 
Are you using Conditional Formatting (i.e. Format Conditional
Formatting ... from the menu) or are you trying to code it into a sub?


Robert Hargreaves[_2_]

Conditional formatting code wont work
 
I am trying to code it.

I have 4 clauses and want to use a sheet with cells as named ranges to avoid
the menus in conditional formatting

Thanks for any suggestions you might have.
Rob

"Nick Hebb" wrote in message
oups.com...
Are you using Conditional Formatting (i.e. Format Conditional
Formatting ... from the menu) or are you trying to code it into a sub?






Nick Hebb

Conditional formatting code wont work
 
Have you tried namedrange1.value, namedrange2.value, etc?


Patrick Molloy

Conditional formatting code wont work
 
I recently answered a similar question with a full code example. try
searching this NG

"Robert Hargreaves" wrote in message
...
Hi I am trying to code my conditional formatting as I have more than 3
clauses to use.

I cant seem to get the code to work no matter what I name the sub. What
do I need to name it?

Select Case ActiveCell.Value
Case namedrange1 And < namedrange2
Selection.Interior.ColorIndex = 6
Case namedrange2 And <namedrange 3
Selection.Interior.ColorIndex = 5
End Select

If I need to write some more code what would it include?

Thanks for your help.
Rob





Nick Hebb

Conditional formatting code wont work
 
You could try something like the following:

Public Sub ConditionalFill()

Dim val As Long
Dim nr1 As Long
Dim nr2 As Long
Dim nr3 As Long

val = ActiveCell.Value
nr1 = Range(ActiveWorkbook.Names("namedrange1")).Value
nr2 = Range(ActiveWorkbook.Names("namedrange2")).Value
nr3 = Range(ActiveWorkbook.Names("namedrange3")).Value

Select Case True
Case val nr1 And val < nr2
ActiveCell.Interior.ColorIndex = 6
Case val nr2 And val < nr3
ActiveCell.Interior.ColorIndex = 5
Case Else
ActiveCell.Interior.ColorIndex = xlColorIndexNone
End Select

'If val nr1 And val < nr2 Then
' ActiveCell.Interior.ColorIndex = 6
'ElseIf val nr2 And val < nr3 Then
' ActiveCell.Interior.ColorIndex = 5
'Else
' ActiveCell.Interior.ColorIndex = xlColorIndexNone
'End If

End Sub


Personally, I would use the If..ElseIf structure (commented out)
instead of the Select Case. First, it's more intuitive to code, and
second it's reportly faster.

Also, the above code assumes Long for the cell value type - change that
as need be.



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

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