엑셀 VBA 색상표 및 색상 코드 총정리
ColorIndex 번호를 한글 이름으로 바꾸는 Enum 을 모듈 최상단에 붙여 넣으면, 색을 숫자 대신 '빨강색' 같은 이름으로 지정할 수 있습니다.
VBA 에서 색을 지정할 때 쓰는 ColorIndex 는 3, 20 같은 번호라 코드만 봐서는 무슨 색인지 알 수 없습니다. Enum 으로 번호에 한글 이름을 붙여 두면 색을 이름으로 지정할 수 있어 읽기도 고치기도 쉬워집니다.
Enum 이 무엇이고 왜 쓰나요
Enum(Enumeration, 열거)은 숫자에 이름을 붙여 두는 목록입니다. 한 번 선언해 두면 그 뒤로는 숫자 대신 이름을 쓸 수 있고, 입력할 때 자동완성 목록에도 나타납니다.

ColorIndex 팔레트는 모두 56가지이고, 아래 Enum 은 그중 실무에서 자주 쓰는 36가지에 한글 이름을 붙인 것입니다.

어디에 붙여 넣나요
Enum 은 모듈의 가장 위쪽에 있어야 합니다. 명령문 안이나 두 명령문 사이에는 넣을 수 없습니다. 아래 전체 코드를 복사해 모듈 최상단에 붙여 넣으세요.

Public Enum 으로 선언하고 한 모듈에만 두세요 — 두 모듈에 같은 이름으로 선언하면 이름이 충돌합니다.사용 방법
변수를 ColorIndexs 형으로 선언하면 색 이름이 자동완성으로 뜹니다.
Sub Test1()
'// 셀의 배경색 바꾸기
Dim MyColor As ColorIndexs
MyColor = 옅은하늘
Range("A1").Interior.ColorIndex = MyColor
End Sub
Sub Test2()
'// 셀의 글자색 바꾸기
Dim MyColor As ColorIndexs
MyColor = 매실색
Range("A1").Font.ColorIndex = MyColor
End Sub
색상표 전체 코드
Public Enum ColorIndexs
검정색 = 1
흰색 = 2
빨강색 = 3
파랑색 = 5
노랑색 = 6
핑크색 = 7
오렌지 = 46
보라색 = 13
청록색 = 14
옅은노랑 = 19
옅은하늘 = 20
매실색 = 18
밝은하늘 = 8
연두색 = 4
회색20 = 15
회색40 = 48
회색60 = 16
회색80 = 56
진한적색 = 9
진한녹색 = 10
진한청색 = 11
진한황색 = 12
진한보라 = 21
진한하늘 = 33
진한산호색 = 49
담자색 = 17
토황색 = 45
취람색 = 35
송화색 = 36
두록색 = 40
주색 = 22
청현색 = 23
회보라색 = 24
밝은벽청색 = 37
선홍색 = 38
치색 = 47
End Enum
엑셀 매크로를 실행할 수 없습니다 - 상황별 해결법
최신 버전은 파일 속성에서 '차단 해제'를 체크한 뒤 [콘텐츠 사용]을 눌러야 매크로가 실행됩니다. 자주 쓰는 파일은 신뢰할 수 있는 위치에 두면 됩니다.
엑셀 VBA &H80004005 (-2147467259) 자동화 오류 해결 방법
2022년 7월 M365 2206 업데이트가 원인이던 오류입니다. 이후 핫픽스로 해결되었으므로 지금은 최신 버전으로 업데이트하는 것이 먼저입니다.
엑셀 VBA 디버깅 (오류 처리) 모든 방법 - 핵심 정리
오류는 발생 시점으로 종류가 갈리고, F8 로 한 줄씩 짚어가며 지역창과 조사식창으로 변수를 확인하면 원인은 대부분 몇 분 안에 좁혀집니다.
그런데 이미지(엑셀 VBA 색상표에서 지원하는 기본 색상 목록) 하고 좀 다른데 최종본 맞나요?
이미지와 달리 RGB코드는 없는데 말이죠.
색상 변경 버튼에 아무런 연결이 없는데요.
색상 변경 버튼에 'test 매크로' 연결하면 되는 거 맞죠? 연결이 안 되 있어서 하니
Sub Test()
Dim MyColor As ColorIndexs
MyColor = 노랑색
Range("J6").Interior.ColorIndex = MyColor
End Sub
값이 입력칸에 잘 나오네요.
이름이 지정되지 않은 것에는 개별 지정해주면 사용할 수 있겠죠?