1. 아별툴
  2. 아별툴 패밀리
  3. 엑셀 질문하기
  4. 엑셀 강좌
  5. 엑셀 팁
  6. 엑셀 자료실
  7. 엑셀 연구과제
  8. 엑셀 북마크
  9. 관련 프로그램 소개

엑셀2007에서 셀의 색상을 RGB로 뽑아내기

조회 수 10261 추천 수 0 2009.10.06 00:20:24

오늘 갑자기 바탕화면 하나를 구해서.. (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

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 기타 엑셀 VBA 간단한 팁 모아놓기.. +_+ [레벨:30]아별 2007-01-24 34057
65 기타 [펌] 한글을 자음 모음으로 나누기 + 합치기(초성,중성,종성) [레벨:30]아별 2022-03-22 2591
64 엑셀.. 잡다구리.. 폼에서 홈페이지 링크 등.. [레벨:30]a☆ 2004-10-25 3385
63 기타 [펌] 추가 기능 개발시 리본메뉴에 넣을 MSO Image 쉽게 확인하기 imagefile [레벨:30]아별 2015-01-09 3541
62 엑셀에서 에러 처리 [1] [레벨:30]a☆ 2004-10-23 3727
61 엑셀 기본작업 매크로.. 선택/입력/복사 등 [레벨:30]a☆ 2004-10-25 3856
60 엑셀에서 매크로 실행 동안 화면이 업데이트 되지 않게 하기.. [레벨:30]a☆ 2004-10-26 3916
59 [엑셀VBA 기본 규칙] 순환문.. [레벨:30]a☆ 2005-08-04 4188
58 기타 [VBA] 컴퓨터 이름 알아내기 등 PC 환경 변수 읽오이기.. Environ [레벨:30]아별 2015-04-08 4536
57 [엑셀VBA] 변수의 전달 [레벨:30]a☆ 2005-05-13 4582
56 엑셀의 내용을 복사해서 메모장을 띄우고 붙여넣기 [레벨:30]a☆ 2005-07-21 4786
55 하이퍼링크 일괄 제거하기 [레벨:30]a☆ 2005-07-21 4996
54 엑셀 실행시 자동으로 실행 // 종료시 자동으로 실행 [레벨:30]아별 2004-10-25 5070
53 [펌] 엑셀로 최대 공약수 구하기 [2] [레벨:30]아별 2008-12-18 5301
52 셀의 상대 위치 이동< offset(행,열) >과 절대 위치 이동.. [레벨:30]a☆ 2004-10-20 5425
51 메모 입력할때 사용자 이름 제거하고 입력하기.. [레벨:30]a☆ 2006-01-19 5431
50 엑셀 도구모음에 콤보박스로 매크로 실행하기.. +_+ [레벨:30]a☆ 2005-11-03 5464
49 바로 옆셀의 메모값 가져 오기 [1] [레벨:30]아별 2008-10-20 5516
48 스스로 사라지는 메시지 박스 file [1] [레벨:30]아별 2009-05-07 5636
47 기타 VBA로 인디언식 이름 만들어주는 사용자 정의 함수 만들기.. imagefile [1] [레벨:30]아별 2012-01-11 5736
46 마우스 좌표를 반환 받기 file [레벨:30]아별 2009-05-07 5856