2016-07-21 6 views
0

countif 수식을 사용하여 VBA에서 조건부 서식을 구현하려고합니다. 그것은 잠시 동안 작동하지만 가변 범위를 구현하고 싶습니다. 나는 성공없이 다음을 시도했다.가변 범위 vba

With Range("AI7").FormatConditions _ 
     .Add(xlExpression, Formula1:="=AND(COUNTIF($C$7:$AG$7;""B"")<=3;COUNTIF($C$7:$AG$7;""R"")<=5)") 
     .Interior.Color = RGB(185, 207, 203) 
    End With 

countif 동적 범위 내에서 만드는 방법. 나는 그것을 시도했다 :

With Range("AI7").FormatConditions _ 
     .Add(xlExpression, Formula1:="=COUNTIF(R[7]C[3], R[7]C[31])="B"") 
     .Interior.Color = RGB(248, 194, 203) 
    End With 
+0

* 가변 범위 *를 구현하고 싶습니다. 좀 더 구체적으로 설명해 주시겠습니까? –

+0

대신 C7 : AG7을 쓰고 싶습니다. AG를 동적으로 만들고 싶습니다. 즉, 변수와 관련이 있습니다. 아래의 표기법을 시도했지만 작동하지 않는 것 같습니다. – richpiana

+0

r = 및 c 귀하의 동적 범위에서 마지막 셀의 행과 열 번호로. – Tim

답변

1

이것은 그것을하는 1 개의 방법이다. 필요에 따라 동적으로 열 글자를 가져와야하지만, 아래 변수 sCol에 넣을 수 있습니다.

Dim sCol as String 

sCol = "AG" 'you'll have to define the column in whatever way you need 

With Range("AI7").FormatConditions _ 
     .Add(xlExpression, Formula1:="=AND(COUNTIF($C$7:$" & sCol & "$7;""B"")<=3;COUNTIF($C$7:$" & sCol & "$7;""R"")<=5)") 
     .Interior.Color = RGB(185, 207, 203) 
    End With 
+0

고마워 :) 작동하지 않습니다 – richpiana