조건부 서식을 사용하면 색칠할 수 있다. 과연 조건부 서식의 셀 인덱스 값을 가져올 수 있을까?
확인해보자.
우선 확인을 위해 셀의 색값을 가져오는 방법을 알아보자.
셀 색을 칠할때와 마찬가지로 색의 값을 가져오는 방식은 2가지가 있다.
1. 셀 인덱스 가져오기
2. 셀 RGB값 가져오기
우선 인덱스 부터 가져와 보자.
*셀의 색 인덱스 가져오기
---------------------------------------------------------------------------------------------------------
Sub 색칠하기_RGB컬러()
Cells(2, 2).Interior.ColorIndex = "1"
MsgBox (Cells(2, 2).Interior.ColorIndex)
End Sub
---------------------------------------------------------------------------------------------------------
위의 코드는 셀의 INDEX 1(검정) 칠하고 INDEX 메세지 박스로 확인하는 코드이다.
(아래 컬러 인덱스 참고)
실행해보자
검은색에 맞는 엔덱스가 1로 표기됨을 확인할 수 있었다.
.
.
.
.
.
.
.
.
.
그럼 이제 2번째 방법인 RGB 방법을 해보자
*RGB 값 가져오기
---------------------------------------------------------------------------------------------------------
Sub 색칠하기_RGB컬러()
Cells(2, 2).Interior.Color = RGB(0, 255, 155) 'RGB
Strd = Right("000000" & Hex(Cells(2, 2).Interior.Color), 6)
MsgBox (Strd)
MsgBox (Val("&H" & Mid(Strd, 1, 2))) 'B 위의 설정 숫자
MsgBox (Val("&H" & Mid(Strd, 3, 2))) 'G 위의 설정 숫자
MsgBox (Val("&H" & Mid(Strd, 5, 2))) 'R 위의 설정 숫자
End Sub
---------------------------------------------------------------------------------------------------------
위의 코드는 RGB 색으로 2행 2열에 색칠하고
색칠값을 가져오는 코드다.
값을 가져오면 RGB색이 -> BGR 로 반전되어 나오는 것을 주의하자잉
결과는 아래와 같다.
이제 처음에 목표했던 조건부 서식의 셀값이 나오는지 확인해 보자.
TEST를 위해 아래와 같이 1과 0을 기입하고 조건부 수식은 새규칙을 적용하여 >0 큰 경우 색칠하는 방식을 택했다.
*조건부 수식은 정리해 놓은 다른 글을 참고하자.
INDEX 값을 가져오면 44 값이 나와야 할것이다. 확인해보자.
---------------------------------------------------------------------------------------------------------
Sub 조건부서식COLOR확인하기()
For I = 2 To 8
MsgBox (Cells(I, 2).Interior.ColorIndex)
Cells(I, 3) = Cells(I, 2).Interior.ColorIndex
Next
End Sub
---------------------------------------------------------------------------------------------------------
위의 코드는 INDEX 값을 C열에다 적는 코드인데
결과가 이상하다.
모르겠다. 그냥 조건부 수식 사용하느니 내가 색칠 해서VBA 사용할란다.
끝. 누가 이유알면 알려줬으면 좋겠따...
*COLOR INDEX 참고
'엑셀 > VBA' 카테고리의 다른 글
엑셀 VBA - 원본 여러개의 셀로 분리하기/셀 데이터 분리하기 (0) | 2020.11.01 |
---|---|
엑셀 VBA - 행추가하기/열추가하기/행지우기/열지우기 (0) | 2020.11.01 |
엑셀 VBA - 셀 색칠하기/color index/셀 색 채우기 (2) | 2020.11.01 |
엑셀 VBA - 셀 지우기/내용 지우기/ 서식 지우기/ 삭제하기 (0) | 2020.10.29 |
엑셀 - 컨트롤 삽입하기/매크로 버튼 만들기/vba 실행 버튼 만들기 (0) | 2020.10.29 |