Conditional Formatting using code

A

Ayo

I am trying to write a contionalformat in code. I have this code ight now:
Range("E1:E10").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
Formula1:="0"
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With

This is not doing what I need. I want a code that would change the font
color in a range of cells based on if the value of another cell is equal to
zero. How do I go about doing this.
 
F

FSt1

hi
set up a true/false condition in the CF cell base on the target cell.
such as if other cell = 0 then true else false
or
=if(b1=0,1,0)

Sub AddCF()
Dim r As Range
Set r = Range("C1") '<--change to suit

r.FormatConditions.Delete
r.FormatConditions.Add _
Type:=xlExpression, Formula1:= _
"=IF(B1=0,1,0)" '<--change to suit
With r.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With
End Sub

regards
FSt1
 
A

Ayo

Thank you somuch FSt1.

FSt1 said:
hi
set up a true/false condition in the CF cell base on the target cell.
such as if other cell = 0 then true else false
or
=if(b1=0,1,0)

Sub AddCF()
Dim r As Range
Set r = Range("C1") '<--change to suit

r.FormatConditions.Delete
r.FormatConditions.Add _
Type:=xlExpression, Formula1:= _
"=IF(B1=0,1,0)" '<--change to suit
With r.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With
End Sub

regards
FSt1
 
A

Ayo

It is not working quite right. This is what I have:

Dim r As Range
Set r = Range("E1:E10") '<--change to suit

r.FormatConditions.Delete
r.FormatConditions.Add _
Type:=xlExpression, Formula1:="=IF(A1=0,1,0)" '<--change to suit
With r.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With

Whan I enter 0 or 1 in cell A1 the font in the range still changes. I only
want it to change when A1 is zero.
 
C

Conan Kelly

Ayo,

How about this:

Dim r As Range
Set r = Range("E1:E10") '<--change to suit

r.FormatConditions.Delete
r.FormatConditions.Add _
Type:=xlExpression, Formula1:="=A1=0" '<--change to suit
With r.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With

HTH,

Conan
 
A

Ayo

Same thing.

Conan Kelly said:
Ayo,

How about this:

Dim r As Range
Set r = Range("E1:E10") '<--change to suit

r.FormatConditions.Delete
r.FormatConditions.Add _
Type:=xlExpression, Formula1:="=A1=0" '<--change to suit
With r.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With

HTH,

Conan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top