2017-12-15 11 views
0

私は、選択されたセルの各範囲に2つの条件があるかどうかを調べるためにvbaコードを作成しようとしています。両方の条件が満たされていれば、私はそれを色づけしたい。私は次のように書いた:VBA - カラーフィールドに複数の条件がある範囲で見つかる

Dim ThisRng As Range 
Set ThisRng = Application.InputBox("Select a range", "Get Range", Type:=8) 
Selection.Activate 
Dim cel As Range 
For Each cel In ThisRng.Cells 
    With cel 
    cel.Find("..condition1 to search").Activate 
    ActiveCell.Find("...secondcondition").Activate 
    ActiveCell.Select 
    ActiveCell.Interior.ColorIndex = 33 
    ThisRng.Activate 

    End With 

Next cel 

これは、条件が真であるときにのみ働く。セルを起動できない場合、エラーが発生し、次のセルに移動しません。

どのようなアイデアですか?

おかげ

+0

選択した範囲の各セルに2つの条件を確認したいですか? – JohnyL

+0

を選択した範囲にあるセルに色分けしたい場合は、セル内に「/ *、0」と末尾がある場合は – Daniela

答えて

0

は、これが終わるラウンド式を有する任意の細胞赤に色だろう「0)」

Sub Demo 
Dim ThisRng As Range 
Set ThisRng = Application.InputBox("Select a range", "Get Range", Type:=8) 
Dim cel As Range 
For Each cel In ThisRng.Cells 
    if len(cel.formula)>6 then 
     if left(cel.formula,6)="=ROUND" and right(cel.formula,3) = ",0)" then 
      cel.interior.ColorIndex = 3 
     end if 
    end if 
next cel 
End Sub 
+0

が似ていますが、セル内に丸があるかどうかを確認する必要があります数式とそれが "/ *、0"で終わる場合 – Daniela

+0

これは動作していますが、式の先頭に丸がある場合のみです。ラウンドに別の数式が前にある状況があります。バージョンを確認してくれてありがとう、私はそれをやる方法を知らなかった。だから、もし私が(私はどのように書くと右(cel.formula、3)= "、0)" – Daniela

+0

vbaのあなたがINSTR()関数を使用する最初の句を使用する関数を見つける必要がありますINSTR(cel.formula、 "ROUND")> 0、... –

関連する問題