View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Don Guillett[_4_] Don Guillett[_4_] is offline
external usenet poster
 
Posts: 2,337
Default Worksheet_Change event won't fire to execute Macro???

try this instead. You had several errors.
lcase, ColorInterior.ColorIndex = 36,etc

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:C14")) Is Nothing Then
With Target
Select Case UCase(Target)
Case "LAT"
.Interior.ColorIndex = 36
.Font.ColorIndex = xlAutomatic
Case "CTC"
..Interior.ColorIndex = 34
.Font.ColorIndex = xlAutomatic
Case "HOL"
..Interior.ColorIndex = 44
.Font.ColorIndex = xlAutomatic
Case "VAC"
..Interior.ColorIndex = 7
.Font.ColorIndex = xlAutomatic
Case "INFT"
..Interior.ColorIndex = 11
Font.ColorIndex = 2
Case "UNICA"
..Interior.ColorIndex = 11
..Font.ColorIndex = 2
Case Else
.Interior.ColorIndex = xlColorIndexNone
.Font.ColorIndex = xlAutomatic
End Select
End With
End If
End Sub

--
Don Guillett
SalesAid Software

"jpdill5 " wrote in message
...
A little help would be appreciated...

I have a worksheet where I am trying to color-code cells based on the
value entered into the cell. For example, if I enter the value of
"CTC" in cell E125, I would like to set the background color of the
cell to light blue. If I enter a different value of "LAT" in the same
cell, I would like the background color to be light yellow.

Since I have about 7 different cases where I want to color cells, I
can't use the conditional formatting. That being said, I believe the
best way to do this is with a Worksheet_Change event, and have created
the following and placed it in the Worksheet code area:

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
On Error GoTo ws_exit
If Not Intersect(Target, Range("E123:AC145")) Is Nothing Then
With Target
Select Case LCase(.Value)
Case "LAT"
ColorInterior.ColorIndex = 36
Case "CTC"
ColorInterior.ColorIndex = 34
Case "HOL"
ColorInterior.ColorIndex = 44
Case "VAC"
ColorInterior.ColorIndex = 7
Case "INFT"
ColorInterior.ColorIndex = 11
Font.ColorIndex = 2
Case "UNICA"
ColorInterior.ColorIndex = 11
Font.ColorIndex = 2
End Select
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub


And it does not seem to work when I enter/change a value in one of the
cells listed in the range. I don't know if there is something else I
need to do in order to enable this functionality? Can anyone help?

Thanks,

Jeff


---
Message posted from
http://www.ExcelForum.com/