2017-11-27 1 views
0

"H1 : H100"범위의 셀에 채우기 색 RGB = (255,179,181)이 있으면 "오류를 해결하십시오"라는 메시지 상자를 제공하고 싶습니다. .조건부 서식이 적용된 셀의 색을 찾으려면 어떻게합니까

하지만이 범위의 셀은 일부 조건부 서식 조건에서이 RGB를가집니다. 기본적으로 RGB는 다릅니다. 하여 시도

셀 컬러 RGB (255,179,181)이 RGB 포맷에 조건부이기 때문에 루프 내부 않을 것이다하더라도

for i=1 to 100 
    if Cells(i, 8).Interior.Color = RGB(255, 179, 181) then 
     msgbox "resolve errors" 
    end if 
next i 

.

+0

[VBA를 사용하여 Excel에서 조건부 서식의 배경색을 얻는 방법] (https://stackoverflow.com/questions/45122782/how-to-get-the-background-color-from-a) -conditional-formatting-in-excel-using-vba) –

+0

조건부 서식은 수동으로 설정 한 셀 채우기보다 우선합니다. 조건부 서식은 규칙과 함께 적용됩니다. VBA를 사용하여 CF와 동일한 조건의 셀을 테스트하여 CF를 트리거하는 규칙이 해당 셀에 적용되는지 테스트 할 수 있습니다. 그것은 VBA로 할 수 있으며, 만약 있다면 CF가 셀에 적용되는지 알 수 있습니다. CF가 적용되지 않으면 일반 VBA 문으로 채우기 색을 확인하십시오. – teylyn

답변

0

.DisplayFormat.Color는 "일반"는 조건 서식 셀을 설정 한 색상을 반환합니다 색상

.DisplayFormat.Interior.Color을 채울 반환합니다.

너무 :

for i=1 to 100 
    if Cells(i, 8).DisplayFormat.Interior.Color = RGB(255, 179, 181) then 
     msgbox "resolve errors" 
    end if 
next i 

하지만 사용자가 오류가 있는지 확인하는 이상한/끔찍한 방법의 종류입니다. 조건부 서식과 같은 방법으로 셀의 값을 확인하지 않는 이유는 무엇입니까?

+0

나는 그 성능이 이유가 될 수 있다고 상상할 수있다. 조건이 매우 복잡하고 워크 시트가 이미 해당 작업을 수행 한 경우 다시 작업을 수행 할 필요가 없으며 배경을 확인하는 것이 매우 어려운 것처럼 들리지 않습니다. –

+0

@ EnganWolf - "매우 복잡한"조건은 불규칙한 방법을 요구할 것입니다. 그리고 나는 그것이 "작동하도록 만드는 것이 무엇이든간에"(내 물건 중 일부를보아야합니다!) ... " 그 사건이 여기 있다고 확신하지 못합니다. ... 나는 그것이 [XY] (https://meta.stackexchange.com/a/66378/370758) 문제에 대해 처음 들었던 곳일 수도 있다고 생각합니다. :) – ashleedawg

관련 문제