색상을 이용한 결과값 구하기
색상을 이용하여 결과를 도출하고자 하는 경우가 있을 겁니다.
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
'업무 능력 향상 > 엑셀 VBA 기초' 카테고리의 다른 글
복사할 때 글자색도 같이 넣는 방법 (0) | 2014.01.29 |
---|---|
[VBA기초] Number 를 문자(Text)로 한번에 변경 (0) | 2014.01.26 |
[VBA] convert TextNumber to Number (0) | 2014.01.25 |
[VBA기초] InStr 를 이용한 셀 분리 (2) | 2014.01.19 |
[VBA기초] 자체셀내의 중복여부 검사 (0) | 2014.01.11 |