엑셀 셀 색상 변경 함수 만들기 – 함수로 셀 색 입히기
엑셀에서 가장 많이 하는 작업 중에 하나가 셀 색 입히기 작업이죠.
하지만 막상 셀의 배경색을 바꾸려고 하면 마우스로 직접 적용하거나 조건부 서식을 이용해서 작업해야 합니다.
이렇게 엑셀에서 제공하는 대부분의 함수는 값을 반환할 수는 있지만, 서식을 직접 바꾸는 기능은 지원하지 않습니다. 그렇기 때문에 엑셀에서 셀 배경 색상을 함수로 변경해야 하는 상황이라면 VBA를 활용하여 새로운 함수를 직접 만들어주는 방법을 사용하는 것이 좋습니다.
이번 글에서는 “ChangeColor”라는 사용자 정의 함수를 만들고, 특정 텍스트에 색상을 입히는 함수를 만드는 방법을 알아보겠습니다.
VBA로 색상 적용 함수 만들기
※ 아래 코드 txt 파일을 사용하시면 적용하기 쉽습니다.
- 엑셀 상단 [개발 도구] 탭 클릭 (없으면: 파일 → 옵션 → 리본 사용자 지정 → 개발 도구 체크)
- [Visual Basic] 클릭 또는 VBA 편집기 단축키 (ALT + F11) 실행
왼쪽에서 “현재 통합 문서” 더블 클릭 – 코드 입력

상단 메뉴에서 [삽입 → 모듈] 클릭
왼쪽에서 “Module1” 더블 클릭 – 코드 입력

Tip. 매크로나 VBA를 사용하려면 파일 확장자가 .xlsm 형식이어야 합니다
VBA 코드가 포함된 파일은 .xlsx 형식으로 저장하면 매크로가 손실됩니다.
코드 입력 후 저장할 때는 반드시 “Excel 매크로 사용 통합 문서 (*.xlsm)” 형식으로 저장해 주세요.
– 저장 방법: 파일 → 다른 이름으로 저장 → 파일 형식: Excel 매크로 사용 통합 문서 (*.xlsm)
셀 색상 변경 함수 사용 방법
이제 셀에 아래와 같은 수식을 입력해보세요. ChangeColor 함수를 VBA를 사용해서 만들었습니다.
=ChangeColor(“결제완료”, “#00FF00”)
셀 안에는 “결제완료”라는 텍스트가 그대로 표시되고, 배경은 밝은 초록색으로 칠해집니다.
색상 코드를 사용하고 RGB로 자동 변환되어 적용됩니다.

엑셀 기본 함수 중에 필요한 함수가 없는 경우, VBA를 활용해 셀 색상을 바꾸는 방법을 알아봤습니다. ChangeColor 함수는 값만 반환하는 것처럼 보이지만, 특정 작업에서 유용하게 작업할 수 있었습니다.