My Objective: Simplified
Assuming a range A1:G15
A Validation list in column H
The Validation List options are: Blue,Pink,Green,Black,Grey,Yellow,Orange and None or '
Can anyone advise me how I create a Case Select code to change, the row range dependant on the option selected in the validation list.....or most efficient code to achieve my objective.
Or the most efficient code method to achieve the outcome I am seeking.
What I can't figure out 1:
How to incorporate the validation list selection to recognise the colour option selected.
What I can't figure out 2:
I want to be able to format a row any of colours in the list, so if it is black, would I need to clear the black format before changing it to say Orange, or is it possible to go straight from black to Orange?
What I have tried:
I am aware of the limitation of three formats using "Conditional Formatting" so want to expand the colour formatting possbilities using code, by selecting choice of format colour from a validation list.
I did a macro recording, selecting the appropriate option within the Validation List, and then formatting a row range....I experimented with the resulting code to no success, although I have a copy of VBA and Macros for MS Excel....theres a lot to think about....and I can't quite grasp what's required.
Code I have used in the passed for a similar but different worksheet:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Err_Handler
If Not Intersect(Target, Range("K1:K20")) Is Nothing Then
Application.EnableEvents = False
i = Target.Row
Select Case Target.Value
Case "Yes"
Range("A" & i & ":M" & i).Interior.ColorIndex = 6
Case "No"
Range("A" & i & ":M" & i).Interior.ColorIndex = 12
Case "W"
Range("A" & i & ":M" & i).Interior.ColorIndex = 18
Case "X"
Range("A" & i & ":M" & i).Interior.ColorIndex = 22
Case "Y"
Range("A" & i & ":M" & i).Interior.ColorIndex = 26
Case "Z"
Range("A" & i & ":M" & i).Interior.ColorIndex = 30
Case Else
Range("A" & i & ":M" & i).Interior.ColorIndex = xlNone
End Select
End If
Err_Handler:
Application.EnableEvents = True
End Sub
Any help, would be much appreciated.
Thanks in advance
Assuming a range A1:G15
A Validation list in column H
The Validation List options are: Blue,Pink,Green,Black,Grey,Yellow,Orange and None or '
Can anyone advise me how I create a Case Select code to change, the row range dependant on the option selected in the validation list.....or most efficient code to achieve my objective.
Or the most efficient code method to achieve the outcome I am seeking.
What I can't figure out 1:
How to incorporate the validation list selection to recognise the colour option selected.
What I can't figure out 2:
I want to be able to format a row any of colours in the list, so if it is black, would I need to clear the black format before changing it to say Orange, or is it possible to go straight from black to Orange?
What I have tried:
I am aware of the limitation of three formats using "Conditional Formatting" so want to expand the colour formatting possbilities using code, by selecting choice of format colour from a validation list.
I did a macro recording, selecting the appropriate option within the Validation List, and then formatting a row range....I experimented with the resulting code to no success, although I have a copy of VBA and Macros for MS Excel....theres a lot to think about....and I can't quite grasp what's required.
Code I have used in the passed for a similar but different worksheet:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Err_Handler
If Not Intersect(Target, Range("K1:K20")) Is Nothing Then
Application.EnableEvents = False
i = Target.Row
Select Case Target.Value
Case "Yes"
Range("A" & i & ":M" & i).Interior.ColorIndex = 6
Case "No"
Range("A" & i & ":M" & i).Interior.ColorIndex = 12
Case "W"
Range("A" & i & ":M" & i).Interior.ColorIndex = 18
Case "X"
Range("A" & i & ":M" & i).Interior.ColorIndex = 22
Case "Y"
Range("A" & i & ":M" & i).Interior.ColorIndex = 26
Case "Z"
Range("A" & i & ":M" & i).Interior.ColorIndex = 30
Case Else
Range("A" & i & ":M" & i).Interior.ColorIndex = xlNone
End Select
End If
Err_Handler:
Application.EnableEvents = True
End Sub
Any help, would be much appreciated.
Thanks in advance
Last edited: