如果值与表不匹配,则突出显示 - VBA

时间:2016-11-03 21:04:16

标签: excel excel-vba if-statement match vba

我想循环遍历A列,如果C列中的值与表中的值不对应,则突出显示单元格。例如:

Columns A:C

Table

在第一张图片中,您可以在第3行中看到,引用该表时,名称'Smith,John'的用户'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出现错误,则需要突出显示单元格颜色。

有人对此有任何想法吗?

2 个答案:

答案 0 :(得分:0)

你不能使用vlookup,因为无论C列是什么,它都会找到“Smith,John”。我将使用多个标准countifs,如果它返回0(未找到),则将其着色。

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

范围将是您的查找表(固定范围)。 cells.value将是您正在寻找的。你可以将它放在循环中,即单元格(1 + n,1)

答案 1 :(得分:0)

我最终使用下面的剪辑:

<root>
 <property1>a</property1>
 <property1>b</property1>
 <property1>c</property1>
 <amount>
  <EUR type="integer">1000</EUR>
  <USD type="integer">1100</USD>
 </amount>
<root>