是的,我在互联网上搜索了很多。我找不到答案

时间:2018-09-05 04:07:41

标签: excel

我想在工作表1中找到与工作表2匹配的特定值,并将该单元格变为黄色。我想在此代码中查找错误。

这是表1

enter image description here

table2

enter image description here

代码:

Option Explicit
Sub match1()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet

    Set wsSource = ThisWorkbook.Worksheets("Sheet1")
    Set wsTarget = ThisWorkbook.Worksheets("Sheet2")

    If wsSource("A2") = wsTarget("A1:B5") Then
        wsSource("A2").Interior.Color = vbYellow
    End If

    If wsSource("A3") = wsTarget("A1:B5") Then
        wsSource("A3").Interior.Color = vbYellow
    End If

    If wsSource("A4") = wsTarget("A1:B5") Then
        wsSource("A4").Interior.Color = vbYellow
    End If

    If wsSource("A5") = wsTarget("A1:B5") Then
        wsSource("A5").Interior.Color = vbYellow
    End If

    If wsSource("B2") = wsTarget("A1:B5") Then
        wsSource("B2").Interior.Color = vbYellow
    End If

    If wsSource("B3") = wsTarget("A1:B5") Then
        wsSource("B3").Interior.Color = vbYellow
    End If

    If wsSource("B4") = wsTarget("A1:B5") Then
        wsSource("B4").Interior.Color = vbYellow

    End If

    If wsSource("B5") = wsTarget("A1:B5") Then
        wsSource("B5").Interior.Color = vbYellow
    End If  
End Sub

1 个答案:

答案 0 :(得分:0)

所有这样的代码行

If wsSource("A2") = wsTarget("A1:B5") Then

...应该是这样,

If application.countif(wsTarget.range("A1:B5"), wsSource.range("A2")) Then

实际上,条件格式设置规则可以基于相同的方法。

=and(countif('sheet2'!$A$1:$B$5, A1))