Excel VBA Format Row on Condition in Cell

I

infojmac

Hi.

Hope someone can help me;

I have written the following code using the Macro recorder and edite
it a bit and it does half of what i want it to do. It finds any cell i
the range that contains a '0' and then turns it red.

But what i need it to do is if it finds a '0' in the range BU4:BW4 o
below it needs to turn the row that cell is in to red font from BT:CC.

I don't know if the above makes sense. So heres an e.g.

In BU7 there is a '0' so then it turns from BT7 to CC7 into red font.

Here's what i have so far.

For Each sh In Worksheets
sh.Activate
Range("BU4:BW4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue
Operator:=xlEqual, _
Formula1:="0"
Selection.FormatConditions(1).Font.ColorIndex = 3
Nex
 
G

gitcypher

Try this-

Sub MakeFontRed()

Dim num As Integer
num = 4

For Each sh In Worksheets
sh.Activate
Do
If Range("BU" & num).Value = 0 Or Range("BV" & num).Value = 0 O
Range("BW" & num).Value = 0 Then
Range("BU" & num).EntireRow.Font.ColorIndex = 3
End If
num = num + 1

Loop Until Range("BU" & num).Value = ""
Next

End Sub



-Gitcyphe
 
I

infojmac

That works a charm. Thank you.

Just one quick question. I can just about understand what is happenin
in the code - but the last line after the 'end if'

num=num+1 i don't understand whats happening here, i'd be ver
grateful if you could explain.

Thanks again
 
G

gitcypher

The num = num + 1 is a counter. I set the value of num to be '4
initially, because you started at BU4. Every time code completed on
loop, it would add 1 to 'num'. Increasing num meant increasing the ro
number to work with.

-Gitcyphe
 

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