changing font colour

G

Guest

Using vba, how can I change font colour to red for the entire row (A5 - Z5)
if cell H5 contains "PRO"? And how do I then copy this code so it affects all
rows (up to 200) in the worksheet?
 
G

Guest

One way:-

Sub stantial()
Dim myRange As Range
Set myRange = Range("H1:H200")
For Each c In myRange
c.Select
If c.Value = "PRO" Then
Selection.EntireRow.Select
Selection.Font.ColorIndex = 3
End If
Next
End Sub

Mike
 
G

Guest

Hi Jock
1 aproach is

using a loop through a range, assuming that your range contains no
blanks(empty)
Sub TEST_Colour()
Dim wb As Workbook
Dim ws As Worksheet
Dim rg As Range

Dim stCrit As String

Set wb = ThisWorkbook
Set ws = wb.Worksheets(1)
Set rg = ws.Range("A2")
stCrit = "PRO"

Application.ScreenUpdating = False ' increases speed on long loops

Do Until IsEmpty(rg) 'perform loop till rg is empty
If rg.Offset(0, 7) = stCrit Then 'logic comparison
rg.EntireRow.Font.Color = vbRed 'if logic is true text colour = red
Set rg = rg.Offset(1, 0) 'increase range by 1 row
Else
Set rg = rg.Offset(1, 0)
End If
Loop

Application.ScreenUpdating = True
End Sub

HTH
 
G

Guest

Thanks to Mike & Steve. There are blanks so I tried Mikes suggestion but I
can't get it to work. Have tried in both 'worksheet' and 'general' but
doesn't work for me.
Would autoformatting and a drop down list (in 'H') affect anything?

Jock
 
G

Guest

Jock,

It's a standard module (ALT+F11 insert module) and will look at the active
sheet i.e the sheet you are on when the macro is called.

Mike
 
G

Guest

Still doesn't work for me. So, to avoid appearing thick, I created a new work
book, entered some data and PRO in one or two cells in "H". Copied the code
(ALT + F11) and saved. I still can't get it to work. :(


Jock
 
G

Guest

ALT+Fll
Right click ThisWorkbook
Insert module
Double click the newly inserted module
Paste in code
Close VB editor
select desired worksheet
With the words PRO in column H (H1 - H200)
Tools|Macros
select the macro and Run

Mike
 
S

Susan

in lieu of a macro, you could also use conditional formatting:

select a5 to g5 & do
format
conditional formatting
choose "cell value is"
"equal to"
in the next field, write (without quotes)
PRO

then select i5 to z5
& do the same thing

then select a5:z5
and pull down as far as you need it.
hth
susan
 
G

Guest

In case you missed it Jock, you have to run the macro to get it to do
anything.

If you want it to be interactive based on the users actions, better to skip
the code and use conditional formatting.
 
S

Susan

aaack! ignore that! that'll only work if those cells contain "pro".
you need "formula is"
& i can't think of the formula right @ this moment.............

=$H5="PRO"

i think that'll work. when you drag it down the row number will
change but not the column.
sorry for the mix-up!
susan
 
G

Guest

Many thanks to Mike, Tom & Susan - I went for the conditional formatting
option in the end as I would like the font to change automatically regardless
of user action

Jock
 

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