问题描述
嘿,我正在帮助一个朋友,我得到了一张包含两张纸的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
之前:
之后:
很明显,如果我错过了某些事情,您可以修改代码以适合您的特定需求。