엑셀의 VBA에서 프로그램 로직을 구현할 때 글자 색이나 셀의 색상을 지정해줘야 할 때가 있습니다.
합계가 표시되는 셀이나 조건에 의해 다른 셀 값과 구분이 필요한 셀에 색상을 지정해주면 시트를 보는데 있어 쉽게 구분할 수 있습니다.
VBA에서 색상을 지정하는 방법에는 ColorIndex 속성을 사용하는 방법과 Color 속성을 사용하 방법이 있습니다.
ColorIndex 속성은 고유한 Index 번호를 지정해서 사용하고, Color 속성은 VbColor 또는 RGB 색상을 사용해서 색을 지정할 할 수 있습니다.
이번 글에서는 엑셀 VBA에서 색상을 지정하기 위한 ColorIndex 색상표와 색상을 설정하는 방법에 대해 알아보겠습니다.
엑셀 VBA에서 사용하는 ColorIndex 색상표 및 VB Color 색상표
▼ VBA 코드에서 ColorIndex 값에 대응하는 색상표 입니다.
- ColorIndex 값을 지정해주면 해당 색상으로 색이 지정됩니다.
- ColorIndex 값 0은 아무런 색상을 지정하지 않습니다.
▼ VBA 코드에서 Color 속성에 사용하는 VB Color 색상표 입니다.
- VbColor Name을 Color 속성에 지정해 주면 해당 색상으로 색이 지정됩니다.
엑셀 VBA에서 ColorIndex 속성을 사용하는 색을 지정하는 방법
– 셀의 배경 색을 지정할 때 Interior에 Color를 지정해 줍니다.
Range(“A1”).Interior.ColorIndex = 6
Range(“C2:E5”).Interior.ColorIndex = 5 : C2셀에서 E5셀까지
Cells(5, 3).Interior.ColorIndex = 4 : 5행(Row) 3열(Column)에 위치한 셀
– 셀의 글꼴 색을 지정할 때 Font에 Color를 지정해 줍니다.
Range(“A1”).Font.ColorIndex = 5
– 셀의 테두리 색상을 지정할 때 Borders에 Color를 지정해 줍니다.
Range(“A1”).Borders.ColorIndex = 3
– 셀의 배경 색의 ColorIndex를 가져오는 예제입니다.
Dim col as Integer
col = Range(“A1”).Interior.ColorIndex
엑셀 VBA에서 Color 속성에 VbColor Name을 사용하는 색을 지정하는 방법
– 셀의 배경 색을 지정할 때 Interior에 Color를 지정해 줍니다.
Range(“A1”).Interior.Color = vbYellow
– 셀의 글꼴 색을 지정할 때 Font에 Color를 지정해 줍니다.
Range(“A1”).Font.Color = vbBlue
– 셀의 테두리 색상을 지정할 때 Borders에 Color를 지정해 줍니다.
Range(“A1”).Borders.Color = vbRed
엑셀 VBA에서 Color 속성에 RGB 색상을 사용하는 색을 지정하는 방법
RGB는 Red, Green, Blue의 약자입니다. 색상을 RGB로 입력할 때 각 색상 코드에 대해 0에서 255 사이의 값을 입력합니다. 각 색상 코드의 값이 커질수록 Red, Green, Blue에 가까운 색으로 표현되며 3가지 색을 혼합해서 새로운 색을 만든다고 생각하면 됩니다.
- RGB 색상을 사용할 경우 아주 정밀하고 세분화 된 색 지정이 가능합니다.
– 셀의 배경 색을 지정할 때 Interior에 Color를 지정해 줍니다.
Range(“A1”).Interior.Color = RGB(255,255,0)
– 셀의 글꼴 색을 지정할 때 Font에 Color를 지정해 줍니다.
Range(“A1”).Font.Color = RGB(0,0,255)
– 셀의 테두리 색상을 지정할 때 Borders에 Color를 지정해 줍니다.
Range(“A1”).Borders.Color = RGB(128,230,96)
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
- 엑셀 VBA에서 여러 개의 텍스트 문자열을 연결하여 하나로 합치는 방법
- 엑셀 VBA에서 Cells와 Range를 사용하여 셀 값을 가져오거나 입력하는 방법
- 엑셀 VBA에서 워크시트의 마지막 셀 위치(행, 열, 셀 주소)를 가져오는 방법
- 엑셀 VBA에서 보이는 셀만 복사하여 붙여넣기 로직을 구현한 매크로 만들기
- 엑셀에서 매크로 기록을 사용하여 VBA 작성 없이 열 정렬하는 매크로 만들어 보기
- 엑셀 VBA 기초 – MsgBox를 사용하여 메시지박스을 띄우고 활용하는 다양한 방법
- 엑셀에서 VBA(매크로)를 처음으로 시작할 때 참고하세요.
이 글이 도움이 되었기를 바랍니다. ^-^