View Single Post
 
Old 02-09-2014, 02:38 PM
Kreol2013 Kreol2013 is offline Windows 7 32bit Office 2013
Novice
 
Join Date: Apr 2013
Posts: 8
Kreol2013 is on a distinguished road
Wink

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
Reply With Quote