728x90

색상을 이용한 결과값 구하기


색상을 이용하여 결과를 도출하고자 하는 경우가 있을 겁니다.

RGB 색상은 아니고, ColorIndex 값을 가진 색상입니다.

색상을 이용하려면 색상의 값을 먼저 알고 있어야 합니다.



Sub ShowColorIndex()
    Dim i As Integer, j As Integer
    For i = 1 To 4
        For j = 1 To 14
           Cells(j, (i - 1) * 2 + 1).Value = (i - 1) * 14 + j
           Cells(j, i * 2).Interior.ColorIndex = (i - 1) * 14 + j
        Next j
    Next i
End Sub


글자색을 구하려면 Font.ColorIndex 를 사용하고요.

배경색을 구하려면 Interior.ColorIndex 를 사용합니다.

둘다 모두 색상은 같습니다.

1 ~ 8 번까지는 색상이 우리가 아는 black. white, red, green, blue, yellow, magenta, cyan 입니다.

vbBlack, vbWhite, vbRed, vbGreen, vbBlue, vbYellow, vbMagenta, vbCyan 등으로 값을 써주면서 알아낼 수도 있습니다.


점수가 90점 이상이면 빨간색으로 하고 싶다면

rngC.Font.ColorIndex = 3 또는

rngC.Font.Color=vbRed

로 써주면 됩니다


'------------- 동일 글자 개수 구하는 함수 -----------------------

' rngAll 은 대상범위 이므로 A2:H16 같은 범위를 넣어주게 되는 거구요.

' Col 은 해당 셀을 의미

Function Color_Cnt(rngAll, Col) As Long
    Dim rngC As Range
    Dim i As Long
    For Each rngC In rngAll
        If rngC.Font.ColorIndex = Col.Font.ColorIndex Then
            i = i + 1
            Color_Cnt = i
        End If
    Next rngC
End Function



728x90
블로그 이미지

Link2Me

,