Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Bob.
A puzzle - I made a cut down version with a single column database and it worked fine (after obviously cutting down the sizes of the ranges to be coloured in). I don't think my workbook has a corruption, as the cut down version was based on it using Save As, then trimming it down. There arent any other event macros in the workbook. I'm stumped, for the moment. Pete "Bob Phillips" wrote: Can you send me the workbook before you go? -- HTH Bob Phillips (remove xxx from email address if mailing direct) "Peter Rooney" wrote in message ... No, 2003 SP1 I know the program logic is OK because the message boxes work correctly. I tried again, just to be sure. Direct entry, cells color OK Pick from a dropdown and they don't. Going home now to rest my brain, but please don't forget me! Thanks for your help Pete "Bob Phillips" wrote: Excel 97? -- HTH Bob Phillips (remove xxx from email address if mailing direct) "Peter Rooney" wrote in message ... Bob, In answer to your question, Yes, BUT - an update: If I take the validation off a cell in this column and just type in something like "On Hold", then the colouring works. If the cell becomes "On Hold" as the result of selecting that value from a dropdown list i.e. using data validation, then it doesn't. Does the worksheet change event work differently if a cell's value is selected from a list, as against being entered directly? Thanks Pete "Bob Phillips" wrote: Are you sure that Target.Offset(0, -12) is valid, that is that the change column has at least 12 columns left? -- HTH Bob Phillips (remove xxx from email address if mailing direct) "Peter Rooney" wrote in message ... Good afternoon, all, One column in my database ("ColStatus") is validated by a drop down list, and depending on the value selected, I want the interior colour for all database cells in the target row to change. In the code shown below, the msgboxes work fine, so the case logic is OK, but in each case, the colour doesn't change. Can any clever person out there suggest why this might be? The worksheet isn't protected. Thanks in anticipation Pete Private Sub Worksheet_Change(ByVal Target As Range) Dim DBSheet As Worksheet Dim ColStatus As Range Set DBSheet = Sheets("Database") Set ColStatus = DBSheet.Range("ColStatus") Set Intersection = Intersect(Target, ColStatus) If Not Intersection Is Nothing Then Select Case Target.Formula Case "Withdrawn" MsgBox ("Withdrawn") Target.Offset(0, -12).Resize(1, 30).Interior.ColorIndex = 3 Target.Offset(0, -12).Resize(1, 30).Font.ColorIndex = xlAutomatic Case "Completed" MsgBox ("Completed") Target.Offset(0, -12).Resize(1, 30).Interior.ColorIndex = 4 Target.Offset(0, -12).Resize(1, 30).Font.ColorIndex = xlAutomatic Case "On Hold" MsgBox ("On Hold") Target.Offset(0, -12).Resize(1, 30).Interior.ColorIndex = 45 Target.Offset(0, -12).Resize(1, 30).Font.ColorIndex = xlAutomatic Case Else MsgBox ("Other") Target.Offset(0, -12).Resize(1, 30).Interior.ColorIndex = 38 Target.Offset(0, -12).Resize(1, 30).Font.ColorIndex = xlAutomatic End Select End If End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How can I change worksheet background colour | Setting up and Configuration of Excel | |||
Change colour of rows in a worksheet | Excel Discussion (Misc queries) | |||
Formula to change rows a different colour? | Excel Worksheet Functions | |||
Change even rows to a predefined colour | Excel Programming | |||
Code to change interior colour only if current interior colour is | Excel Programming |