Range 개체

ColorIndex 속성

노만e 2025. 3. 12. 06:32

엑셀 VBA의 ColorIndex 속성은 셀, 글꼴, 테두리 등의 색상을 변경할 때 사용되는 색상 인덱스 값(1~56)을 지정하는 속성입니다.

엑셀의 기본 색상 팔레트(56색)를 기준으로 동작하며, RGB 함수와 함께 사용할 수도 있습니다.


1. 기본 문법

vba

Range("A1").Interior.ColorIndex = 3 ' A1 셀의 배경색을 빨간색으로 변경 Range("A1").Font.ColorIndex = 5 ' A1 셀의 글자색을 파란색으로 변경


2. ColorIndex 색상표

ColorIndex
색상
ColorIndex
색상
1
 
29
 
2
 
30
 
3
 
31
 
4
 
32
 
5
 
33
 
6
 
34
 
7
 
35
 
8
 
36
 
9
 
37
 
10
 
38
 
11
 
39
 
12
 
40
 
13
 
41
 
14
 
42
 
15
 
43
 
16
 
44
 
17
 
45
 
18
 
46
 
19
 
47
 
20
 
48
 
21
 
49
 
22
 
50
 
23
 
51
 
24
 
52
 
25
 
53
 
26
 
54
 
27
 
55
 
28
 
56
 

3. ColorIndex 사용 예제

📌 셀 배경색 변경

Sub 배경색_변경()
Range("A1").Interior.ColorIndex = 6 ' 노랑
End Sub

📌 셀 글자색 변경

Sub 글자색_변경()
Range("A1").Font.ColorIndex = 3 ' 빨강
End Sub

📌 셀 테두리 색 변경

Sub 테두리색_변경()
Range("A1").Borders(xlEdgeBottom).ColorIndex = 5 ' 파랑
End Sub

📌 ColorIndex 사용하여 범위 색 변경

Sub 범위_색변경()
Dim rng As Range
Set rng = Range("A1:D5")
rng.Interior.ColorIndex = 10 ' 초록
rng.Font.ColorIndex = 2 ' 흰색 글자
End Sub

📌 조건부 색상 적용

Sub 조건부_색상()
Dim cell As Range
For Each cell In Range("A1:A10")
If cell.Value > 50 Then
cell.Interior.ColorIndex = 3 ' 값이 50보다 크면 빨강
Else
cell.Interior.ColorIndex = 6 ' 값이 50 이하이면 노랑
End If
Next cell
End Sub

4. ColorIndex 값 초기화

📌 배경색 제거

Sub 배경색_제거()
Range("A1").Interior.ColorIndex = xlNone
End Sub

📌 xlNone → 색상 제거 (배경색 없음)


📌 글자색 초기화

Sub 글자색_제거()
Range("A1").Font.ColorIndex = xlAutomatic
End Sub

📌 xlAutomatic → 기본 자동 색상으로 변경


5. ColorIndex와 RGB 차이

  • ColorIndex: 엑셀의 56색 팔레트를 사용 (한정된 색상)
  • RGB: 1670만 가지 색상을 지원 (더 다양하고 세밀한 색상 지정 가능)

📌 RGB 사용 예제

Sub RGB_색상_설정()
Range("A1").Interior.Color = RGB(255, 0, 0) ' 빨간색 배경
Range("A1").Font.Color = RGB(0, 0, 255) ' 파란색 글자
End Sub

📌 RGB(255, 0, 0) → 빨강

📌 RGB(0, 0, 255) → 파랑


📝 정리

기능
VBA 코드
배경색 변경
Range("A1").Interior.ColorIndex = 3
글자색 변경
Range("A1").Font.ColorIndex = 5
테두리 색 변경
Range("A1").Borders(xlEdgeBottom).ColorIndex = 6
색상 초기화
Range("A1").Interior.ColorIndex = xlNone
기본 색상 복구
Range("A1").Font.ColorIndex = xlAutomatic
RGB 색상 사용
Range("A1").Interior.Color = RGB(255, 0, 0)

🔥 VBA에서 ColorIndex를 사용하면 기본 56색을 쉽게 지정할 수 있으며, RGB를 활용하면 더 다양한 색상을 적용할 수 있습니다! 🚀