2016-07-21 16 views
0

countif式を使用してVBAで条件付き書式設定を実装しようとしています。今はうまくいくが、可変範囲を実装したい。私は成功なしで次のことを試しました。可変範囲vbaの場合count

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

'' formula = = "= COUNTIF($ c $ 7:"&cells(r、c).Address & "; "" "" ")' '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