티스토리 뷰


이 글에서는 셀의 배경색을 변경하는 방법에 대해서 알아볼까 합니다. 셀의 배경색을 변경하는데 사용되는 개체는 바로 Range 개체겠죠.

Range는 이전 글에서 설명드렸다 싶이 셀의 집합을 구성하는 개체입니다.


Range 개체의 MSDN(Microsoft Developer Network)에서 Range 개체를 확인하면 아래와 같습니다.

관련 링크 : https://msdn.microsoft.com/en-us/library/office/ff838238.aspx



Range 개체는 WorkSheet에 있는 Row, Column, Cell, Cell의 집합을 처리할 수 있는 개체라고 볼 수 있겠네요.


셀의 배경색을 바꾸기 위해서는 Cell의 집합 혹은 Cell을 선택해야 합니다. 셀의 배경색을 변경하기 위해서는 2개의 속성을 사용할 수가 있는데요. 첫번째가 ColorIndex이고 두번째가 Color입니다. 


1. ColorIndex 사용하기


Cell의 내부 개체중에 Interior.ColorIndex로 접근을 하시면 쉽게 배경색을 변경할 수 있습니다. ColorIndex에 대해서 잠시 알아보도록 할께요.

ColorIndex는 기존에 정해진 57개의 색을 Integer 값으로 변경할 수 있습니다. 


이에 대한 색정보는 아래의 그림을 살펴보시면 됩니다. 

정해진 값을 넣으면 관련 색을 변경할 수 있다는 것이죠. 



2. Color 사용하기


Color 객체는 RGB의 값을 받아와서 색을 결정하는데 사용됩니다. ColorIndex가 정해진 색의 Index를 넣는 방법이라고 한다면 Color의 경우에는 사용자가 RGB 값을 넣어서 지정을 하여 색을 변경하게 사용하는 방법이죠. 엑셀 VBA에서는 RGB 값을 계산하는데 있어 RGB 함수를 제공하고 있습니다. 


RGB(red, green, blue)로 구성된 이 함수를 통해서 RGB의 값을 리턴할 수 있습니다. 




ColorIndex와 Color모두 Interior 개체 안에 포함되어 있습니다. 따라서 사용 방법은 아래와 같이 사용할 수 있습니다. 


Range("A1").Interior.ColorIndex = index값

Range("A1").Interior.Color = RGB()


그럼 예제코드를 볼까요.


Sub changeCellsColor()


    'Interior.ColorIndex를 통해서 색을 변경할 수 있습니다.

    Range("A1:A5").Interior.ColorIndex = 5 ' 5=Blue

    

    ' Interior.Color를 통해서도 색을 변경할 수 있습니다.

    Range("B1:B5").Interior.Color = RGB(255, 0, 0) ' RGB(255,0,0) 는 Red

    

End Sub


위의 코드를 실행해보았습니다. 





코드를 좀 변경해서 다른색을 넣어보았습니다.


Sub changeCellsColor()


    'Interior.ColorIndex를 통해서 색을 변경할 수 있습니다.

    Range("A1:A5").Interior.ColorIndex = 0 ' 0=색없음

    

    ' Interior.Color를 통해서도 색을 변경할 수 있습니다.

    Range("B1:B5").Interior.Color = RGB(255, 0, 255) ' RGB(255,0,255) 는 Pink

    

End Sub


위에 대한 결과는 아래와 같습니다. 




셀의 배경색이 잘 변경이 되네요.

그럼 이만 줄이겠습니다.


이 글이 도움되셨으면, 아래의 하트를 눌러주세요.

댓글