比较sheet1中col A和C的行与sheet2中col B和D的行

问题描述

嘿,我正在帮助一个朋友,我得到了一张包含两张纸的Excel文档。在sheet1上,有一个具有姓氏的col A和一个具有姓氏的col C,我需要将这两个值与sheet2中的B和D列进行比较。如果值匹配,我希望背景变成红色。

例如:如果A1 =约翰,C2 =母鹿,那么在sheet2的B和D列中如果有John Doe,我希望两张纸的背景都变成红色。

解决方法

如果我对你的理解正确,我想这就是你想要的。

Sub checked()
    Dim mycell As Range
    Dim mydiff As Integer
    Dim shtSheet1 As Worksheet
    Dim shtSheet2 As Worksheet
    Set shtSheet1 = Worksheets("Compare Sheet1")
    Set shtSheet2 = Worksheets("Compare Sheet2")
    For Each mycell1 In shtSheet1.Range("A2:A4,C2:C4")
        For Each mycell2 In shtSheet2.Range("B2:B4,D2:D4")
          If mycell2.Value = shtSheet1.Cells(mycell1.Row,mycell1.Column).Value Then
            mycell2.Interior.Color = vbRed
            mydiffs = mydiffs + 1
          End If
        Next
    Next
End Sub

之前:

enter image description here

enter image description here

之后:

enter image description here

很明显,如果我错过了某些事情,您可以修改代码以适合您的特定需求。