View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
JW[_2_] JW[_2_] is offline
external usenet poster
 
Posts: 638
Default VBA code to update row format

On Jun 2, 8:53*am, Mark Kubicki
wrote:
I have some VBA code to change the font color of a row; however,
nothing *changes... * any suggestions?

It starts with a "change event" that triggers the function:

* * * * * * Private Sub Worksheet_Change(ByVal target As Range)
* * * * * * * * Application.Run UpdateRowColor(target)

then the function runs like this:

* * * * * * Function UpdateRowColor(target)
* * * * * * 'This section effects changes to the "Project Phase" column
* * * * * * If Not Intersect(target, Range("A:A")) Is Nothing Then
* * * * * * * * If target.Count 1 Then
* * * * * * * * * * Exit Function
* * * * * * * * Else
* * * * * * * * * * Select Case target.Value
* * * * * * * * * * Case Is = "CA"
* * * * * * * * * * * * Range(target.Row & ":" & target.Row).Font.ColorIndex
= 45
* * * * * * * * * * Case Is = "CD"
* * * * * * * * * * * * *...

(one (but only 1) of the cells in any given row has a "conditoinal
formatting")

*thanks in advance,
*mark


This works fine for me.

In the sheet that you want this to take place in:
Private Sub Worksheet_Change(ByVal target As Range)
Application.Run UpdateRowColor(target)
End Sub

In a standard module:
Function UpdateRowColor(target As Range)
'This section effects changes to the "Project Phase" column
If Not Intersect(target, Range("A:A")) Is Nothing Then
If target.Count 1 Then
Exit Function
Else
With target
Select Case .Value
Case Is = "CA"
Rows(.Row).Font.ColorIndex = 45
Case Is = "CD"
Rows(.Row).Font.ColorIndex = 5
End Select
End With
End If
End If
End Function