计数如果variables范围vba

我正在尝试使用countif公式在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范围内的dynamic。 我曾试过:

 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 

这是做到这一点的一种方法。 你将不得不以任何你需要的方式dynamic地获得列字母,但是你可以把它放到下面的sColvariables中。

 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