View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Claus Busch Claus Busch is offline
external usenet poster
 
Posts: 3,872
Default Conditional Formatting from a group

Hi,

Am Thu, 10 Oct 2013 15:56:11 -0400 schrieb wabbleknee:

Any number that begins with xx will be in the red group
xx = 123, 222, 541,346,718 up to 15 numbers here

Any number that begins with yy will be in the green group
yy = 789, 790, 791, 212, up to 15 numbers here

123.456, 123.001, 123.766, 222.100 etc gets filled in as red
789.123, 789.444, 789.345, 790.444 etc gets filled in as green


substrings only can be colored by VBA.
Modify following code to your wishes:

Sub Color()
Dim arrGreen As Variant
Dim arrRed As Variant
Dim arrBlue As Variant
Dim rngC As Range
Dim LRow As Long
Dim i As Integer
Dim n As Integer
Dim intStart As Integer
Dim intLen As Integer

arrGreen = Array(789, 790, 791, 212)
arrRed = Array(123, 222, 541, 346, 718)
LRow = Cells(Rows.Count, 4).End(xlUp).Row
For Each rngC In Range("D1:D" & LRow)
For i = LBound(arrGreen) To UBound(arrGreen)
For n = 1 To Len(rngC)
intStart = InStr(n, rngC, arrGreen(i) & ".")
If intStart 0 Then
intLen = InStr(intStart, rngC, ",") - intStart
rngC.Characters(intStart, intLen).Font.Color = vbGreen
End If
Next
Next
For i = LBound(arrRed) To UBound(arrRed)
For n = 1 To Len(rngC)
intStart = InStr(n, rngC, arrRed(i) & ".")
If intStart 0 Then
intLen = InStr(intStart, rngC, ",") - intStart
rngC.Characters(intStart, intLen).Font.Color = vbRed
End If
Next
Next
Next
End Sub


Regards
Claus B.
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2