Hi!
Yes, eventually I stopped on the circuit HSV
Hue sorting ascending
Value sorting ascending
Sat sorting descending
Thank you
sample code:
Code:
Sub test()
For i = 2 To 5000
sHexVal = Cells(i, 5).Value
If (sHexVal <> "") Then
Call RGBtoHSV(Cells(i, 6).Value, Cells(i, 7).Value, Cells(i, 8).Value, i)
End If
Next i
End Sub
Sub RGBtoHSV(Red, Green, Blue, y)
Dim min As Double, max As Double, delta As Double
If Red <= Green And Red <= Blue Then min = Red
If Green <= Red And Green <= Blue Then min = Green
If Blue <= Red And Blue <= Green Then min = Blue
If Red >= Green And Red >= Blue Then max = Red
If Green >= Red And Green >= Blue Then max = Green
If Blue >= Red And Blue >= Green Then max = Blue
Value = max
delta = max - min
If Not delta = 0 Then
Sat = delta / max
Else
Sat = 0
Hue = 0
Cells(y, 9).Value = Sat
Cells(y, 10).Value = Hue
Cells(y, 11).Value = Value
Exit Sub
End If
If Red = max Then
Hue = (Green - Blue) / delta
ElseIf Green = max Then
Hue = 2 + (Blue - Red)
Else
Hue = 4 + (Red - Green) / delta
End If
Hue = Hue * 60
If Hue < 0 Then Hue = Hue + 360
Cells(y, 9).Value = Sat
Cells(y, 10).Value = Hue
Cells(y, 11).Value = Value
End Sub