2016-11-03 12 views
0

列Aをループし、列Cの値が表の値と一致しない場合は、セルを強調表示します。例:最初の画像で値が表と一致しない場合は、VBA

Columns A:C

Table

、あなたは3行目で見ることができ、名「・スミス、ジョンは」ユーザー正しいユーザではない「RKE」を、持っていますテーブルを参照します。私は以下のことを設定することができますが、私はそこにこだわっています。

Application.ScreenUpdating = False 
Dim i As Integer 

Sheets("Added(Physical)").Select 
Range("A1").Select 
lrow = Range(Selection, Selection.End(xlDown)).Count 

For i = 2 To lrow 

    If Cells(1, i).Value = worksheetapplication.if().Value Then 

     i.Interior.Color = 5287936 
    End If 

Next i 

論理的に、私は、列AとCにVLOOKUPを実行するであろう、とVLOOKUPにエラーがある場合、セルの色が強調される必要があるであろう。

誰もがこれについて考えていますか?

+1

を? –

+0

私はもう少しダイナミックなものを探しています。アイデアありがとう! –

答えて

0

の内側にそれを置くことができます。式で条件付き書式を使用しないのはなぜ

For i = 2 To lrow 

Cells(i, 1).Activate 
x = Application.VLookup(ActiveCell.Offset(0, 0).Value, Worksheets("MiscDefinitions").Range("G1:H11"), 2, False) 
    If x <> Cells(i, 4).Value Then 
     Cells(i, 4).Interior.Color = RGB(255, 0, 0) 
    Else 
    End If 
Next i 
0

どのC列であっても "Smith、John"が見つかるため、vlookupを使用できません。私は0(見つからない)を返す場合、複数の基準countifsを使用し、次にそれを色づけします。

Application.CountIfs(Range("A4:A9"), Cells(1, 1).Value, Range("C4:C9"), Cells(1, 3).Value) 

範囲はルックアップテーブル(固定範囲)になります。 cells.valueはあなたが探しているものになります。あなたは、私は以下のスニップを使用して終了あなたのループすなわち細胞(1 + nは、1)

+0

私はApplicaiton.Vlookupを動作させることになった。私はそれが完璧ではないことを知っていますが、私が使用し終わったコードは以下の通りです: i = 2借りる セル(i、1).Activate x = Application.VLookup(ActiveCell.Offset(0、0).Value ( "G1:H11")、2、False) x <> Cells(i、4).Value Then セル(i、4).Interior.Color = RGB(255) 、0、0) Else End If –

関連する問題