엑셀 글자 색 변경 함수 사용법 총정리 :: HEX2FONTCOLOR 함수

색상 코드로 선택한 범위의 글자 색을 변경하는 HEX2FONTCOLOR 함수의 사용법 및 전체명령문 동작원리를 알아봅니다.

홈페이지 » 엑셀 글자 색 변경 함수 :: HEX2FONTCOLOR 함수 사용법

엑셀 글자 색 변경 함수 :: HEX2FONTCOLOR 사용법 알아보기

엑셀 글자 색 변경 함수 목차 바로가기
구문
= HEX2FONTCOLOR ( 색상코드, 범위)
사용된 인수
인수설명
색상코드선택한 범위에 적용할 색상코드입니다. HEX코드로 입력합니다. (6자리의 숫자코드)
범위글자 색상을 변경할 범위입니다.
함수 설명

HEX2FONTCOLOR 함수지정한 범위의 글자 색을 입력한 색상코드로 변경하도록 도와주는글자 색 변경 함수입니다. 생상코드는 HEX코드로 입력하며, HTML color codes 페이지를 이용하면 원하는 색상의 Hex코드를 쉽게 찾을 수 있습니다.

HEX2FONTCOLOR는 언제 사용하면 좋을까요? 아래 2가지 상황을 보여드리겠습니다.

1. 여러개의 조건부 서식을 적용할 경우

엑셀 조건부 서식을 사용하면 글자색 및 셀의 배경색을 상황에 따라 유동적으로 변경할 수 있습니다. 하지만 적용해야 할 조건이 많거나, 또는 적용되는 조건이 자주 바뀐다면 어떨까요?

엑셀 조건부 서식 글자 색 변경
여러범위에 조건부 서식을 적용할 경우, 편집에 어려움이 생길 수 있습니다.

조건부서식은 아주 훌륭한 기능이지만, 함수가 아닌 또다른 '기능'이므로, 함수보다는 사용하기 다소 불편한 것이 사실입니다.

HEX2FONTCOLOR를 사용하면 아주 간단하게 다양한 조건으로 글자 색을 변경할 수 있습니다. 예를 들어 특정 범위의 합계가 20 이상일 경우의 글자색을 변경할 경우, IF 함수를 활용하여 아래처럼 수식을 작성할 수 있습니다.

=IF(SUM(A1:A5)>=20,HEX2FONTCOLOR("#FFOOOO",A1:A5))
엑셀 글자 색 변경 함수 예제 1 GIF
함수를 사용하여 조건을 만족할 때 글자 색을 손쉽게 변경합니다.
2. 여러 범위의 글자색 변경이 필요할 경우

엑셀은 기본적으로 글자색 변경시 RGB 색상 선택만 지원합니다. 따라서 여러 범위의 글자색을 각각의 색상으로 변경할 시, 매번 R,G,B 값을 선택해야 하므로 매우 번거로운 작업이 될 수 있습니다.

엑셀 글자 색 변경 RGB만 지원
엑셀에서는 RGB 형식으로만 색상을 선택할 수 있습니다.

그럴 경우 HEX2FONTCOLOR 함수를 사용하면 색상코드로 원하는 범위의 글자 색상을 수식 자동채우기로 쉽게 변경할 수 있으므로, 작업시간을 대폭 단축할 수 있습니다. 예를들어 아래와 같이 여러 범위의 색상을 한번에 변경할 수 있습니다.

글자 색 변경 함수 HEX2FONTCOLOR 예제 2 GIF
여러 범위의 글자 색 변경이 한번에 이루어집니다.

예제파일 다운로드

글자 색 변경 함수, HEX2FONTCOLOR 전체 명령문

'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'■ HEX2FONTCOLOR 함수
'■ 지정한 HEX CODE 값으로 범위의 글자 또는 배경색상을 변경합니다.
'■ 인수 설명
'_____________sHex     : 헥스코드(컬러코드)를 받아올 범위 또는 텍스트입니다.
'_____________rng      : 받아온 컬러코드로 글꼴 색상을 변환할 대상 범위입니다.
'###############################################################
Function HEX2FONTCOLOR(sHex, rng As Range) As String
    Dim ir As Long: Dim ib As Long: Dim ig As Long
 
    sHex = CStr(cvRng(sHex))
    sHex = Replace(sHex, "#", "")
    sHex = Right("000000" & sHex, 6)
 
    ir = Val("&H" & Left(sHex, 2))
    ig = Val("&H" & Mid(sHex, 3, 2))
    ib = Val("&H" & Right(sHex, 2))
 
    rng.Font.Color = RGB(ir, ig, ib) &
 
    HEX2FONTCOLOR = rng.Address(0, 0) & " = (" & ir & "," & ig & "," & ib & ")"
 
End Function
 
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'■ cvRng 함수
'■ 사용자지정함수에서 범위로 인수를 받을 시 사용합니다. 만약 인수가 범위로 입력되었을 경우, 범위에 입력된 값을 반환합니다.
'■ 인수 설명
'_____________TargetRng     : 값을 반환할 범위 또는 그외 값입니다.
'###############################################################
Function cvRng(TargetRng)
 
If TypeName(TargetRng) = "Range" Then
    cvRng = TargetRng.Value
Else
    cvRng = TargetRng
End If
 
End Function
함수 사용시 주의사항
  • 해당 함수는 사용자지정함수이므로 이전단계로 돌아가기가 불가능합니다.
  • HEX2FONTCOLOR 함수는 선택한 범위의 글자 색 변경만 지원합니다. 선택한 범위의 배경 색을 변경해야 할 경우, 별도의 VBA 매크로 명령문을 작성해야합니다.
    Sub ChangeCellColor()
     
    '// 선택한 범위의 배경색상을 빨간색으로 변경합니다.
    Selection.Interior.Color = 255
     
    End Sub
5 3 votes
게시글평점
현재 페이지 댓글알림 신청
알림 설정
guest
3 Comments
Inline Feedbacks
View all comments
레드불
레드불
2020년 3월 29일 6:40 오후
게시글평점 :
     

너무 감사합니다!

레드불
레드불
2020년 3월 29일 6:55 오후
게시글평점 :
     

조건부서식으로 힘들게 작업했는데 간편한 방법이 있었네요.
대단히 감사합니다.

악순환의 굴레
악순환의 굴레
2020년 7월 14일 1:11 오후
게시글평점 :
     

되돌리지 못할 수 있으니 저장과 백업에 주의해서 사용하면 유용하겠네요.

3
0
여러분의 생각을 댓글로 남겨주세요.x