Conditional Formatting (Excel 2002 SP3)

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi, I have values in a cell that changes if the cell next to it changes.
The values are five constant values, i.e. "Critical Criteria", "Non-Critical
Criteria" etc.
I need to colour the cell a different colour based on each unique value.

The conditional formatting only caters for 3 conditions. How do I do this. I
do not have knowledge of using macros.

Appreciate it.
 
Try event code. An example


'-----------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'-----------------------------------------------------------------
Const WS_RANGE As String = "H1:H10" '<=== change to suit

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
Select Case .Value
Case 1: .Interior.ColorIndex = 3 'red
Case 2: .Interior.ColorIndex = 6 'yellow
Case 3: .Interior.ColorIndex = 5 'blue
Case 4: .Interior.ColorIndex = 10 'green
End Select
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

'This is worksheet event code, which means that it needs to be
'placed in the appropriate worksheet code module, not a standard
'code module. To do this, right-click on the sheet tab, select
'the View Code option from the menu, and paste the code in.


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
I have done it - what do I need to do next?

Bob Phillips said:
Try event code. An example


'-----------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'-----------------------------------------------------------------
Const WS_RANGE As String = "H1:H10" '<=== change to suit

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
Select Case .Value
Case 1: .Interior.ColorIndex = 3 'red
Case 2: .Interior.ColorIndex = 6 'yellow
Case 3: .Interior.ColorIndex = 5 'blue
Case 4: .Interior.ColorIndex = 10 'green
End Select
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

'This is worksheet event code, which means that it needs to be
'placed in the appropriate worksheet code module, not a standard
'code module. To do this, right-click on the sheet tab, select
'the View Code option from the menu, and paste the code in.


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
You need to change it for your range of cells, and change the case
statements for your values. Then change a cell and it should change.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
Sorry, but this only works if I actually select the cell, change the value
and move to another cell, and it only works for the cell that's been changed.

Is there any other event that I can use: the cells are automatically updated
via calculations - so I don't physically go and change them? Also, how do I
change the colour of the cell in the same row next column?

Sorry for the trouble
 

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

Back
Top