【问题标题】:Compare rows on col A & C in sheet1 with col B & D in sheet2将 sheet1 中 col A 和 C 上的行与 sheet2 中 col B 和 D 上的行进行比较
【发布时间】:2020-12-01 15:38:48
【问题描述】:

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

示例:如果 A1 = John 且 C2 = Doe,那么如果 sheet2 的 col B 和 D 中有 John Doe,我希望两张表中的背景都变为红色。

【问题讨论】:

  • 在两个工作表上创建一个 Helper 列,其中包含一个公式(例如)=A2 & "|" & C2 以连接名字和姓氏。然后你可以使用 MATCH() 和条件格式。

标签: excel vba excel-formula excel-2010


【解决方案1】:

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

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

之前:

之后:

显然,如果我遗漏了什么,您可以修改代码以满足您的特定需求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 2020-01-08
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    相关资源
    最近更新 更多