오늘 갑자기 바탕화면 하나를 구해서.. (http://www.abyul.com/zbxe/69555)
"요거 요거.. 컬러를 뽑아서 차트나 테이블 만들때 써먹어야겠다~" 하고 픽업하다가..
셀의 배경색의 INDEX를 갖고 오는 사용자 정의함수나 만들어야겠다고 생각해서 작업하다보니..
Selection.Interior.Color가 24비트 컬러의 숫자로 나오는 바람에.. 아.. 이거 RGB로는 얼마야 하다가..
그냥 사용자 정의 함수에 RGB로도 표현이 가능하도록 옵션을 추가해버렸습니다.
관련 파일 다운 받기 : pickColor_Excel2007_abyul.xlsm
( 2003버전에서도 색을 바꿔버리긴 하지만, RGB 값을 얻을 수 있긴 하다. : pickColor_Excel2007_abyul.xls )
Option Explicit
'셀의 배경색을 갖고 오는 사용자 정의 함수 '작성자 : 아별닷컴 주인장 오주원 'http://www.abyul.com/zbxe/69564 Function PICKCOLOR(R As Range, Optional rgb As String) Dim resultColor As Double Dim resultRGB As String resultColor = R.Interior.Color If rgb = "RGB" Or rgb = "rgb" Then '## RGB로 표현되는 옵션을 입력했을때.. resultRGB = "RGB : " resultRGB = resultRGB & Format((resultColor Mod 256), "0") resultRGB = resultRGB & "," & Format(Application.WorksheetFunction.RoundDown((resultColor Mod 65536) / 256, 0), "0") resultRGB = resultRGB & "," & Format(Application.WorksheetFunction.RoundDown((resultColor Mod 16777216) / 65536, 0), "0") PICKCOLOR = resultRGB Else PICKCOLOR = resultColor End If End Function
'수식보기 사용자 정의 함수 Function F(R As Range) F = R.Formula End Function |
엑셀에서 수작업으로 확인할 때..
주제 : 엑셀2007에서 색상 값을 RGB로 추출하는 사용자 정의 함수 구현 |
|
작성자 : 아별닷컴 주인장 오주원 |
|
|
|
|
|
참조 사이트 : http://www.abyul.com/zbxe/69564 |
|
|
|
* 저작권자의 동의 없이 임의의 배포 및 전제 금지 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
▲ Interior.Color값을 RGB값으로 변환하기 |
|
|
|
|
|
|
|
|
|
|
|
R |
=TRUNC(MOD($C24,POWER(2,8))) |
|
|
|
G |
=TRUNC(MOD($C24,POWER(2,16))/POWER(2,8)) |
|
B |
=TRUNC(MOD($C24,POWER(2,24))/POWER(2,16)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
▲ RGB값을 이용하여 Interior.Color값 만들기 |
|
|
|
Interior.Color |
=D31+E31*POWER(2,8)+F31*POWER(2,16) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
▲ 검증 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COLOR |
Interior.Color |
R |
G |
B |
RGB |
|
|
11708800 |
128 |
169 |
178 |
RGB : 128,169,178 |
|
|
11387816 |
168 |
195 |
173 |
RGB : 168,195,173 |
|
|
9883082 |
202 |
205 |
150 |
RGB : 202,205,150 |
|
|
6398154 |
202 |
160 |
97 |
RGB : 202,160,97 |
|
|
3883427 |
163 |
65 |
59 |
RGB : 163,65,59 |
|
|
|
|
|
|
|
|
COLOR |
Interior.Color |
R |
G |
B |
Interior.Color |
검증 |
|
16777215 |
255 |
255 |
255 |
16777215 |
0 |
|
16777214 |
254 |
255 |
255 |
16777214 |
0 |
|
16776960 |
0 |
255 |
255 |
16776960 |
0 |
|
16711935 |
255 |
0 |
255 |
16711935 |
0 |
|
65535 |
255 |
255 |
0 |
65535 |
0 |
|
65536 |
0 |
0 |
1 |
65536 |
0 |
|
255 |
255 |
0 |
0 |
255 |
0 |
|
256 |
0 |
1 |
0 |
256 |
0 |
|
683492 |
228 |
109 |
10 |
683492 |
0 |
|
512 |
0 |
2 |
0 |
512 |
0 |
|
65793 |
1 |
1 |
1 |
65793 |
0 | |