Excel 比较两张不同表格中的两列,然后突出显示差异

Excel 比较两张不同表格中的两列,然后突出显示差异,excel,vba,Excel,Vba,我在同一个工作簿中有两张工作表。在每一张桌子里,我都有一张桌子。我想写一个宏来比较这两个表,如果第二张表中有更多的行,那么突出显示行。我写了几行,但我不知道如何继续循环 lr1 = Worksheets("Analyse de risque").Range("B" & Worksheets("Analyse de risque").Rows.Count).End(xlUp).Row lr2 = Worksheets("Plan Traitement Risque").Range("

我在同一个工作簿中有两张工作表。在每一张桌子里,我都有一张桌子。我想写一个宏来比较这两个表,如果第二张表中有更多的行,那么突出显示行。我写了几行,但我不知道如何继续循环

 lr1 = Worksheets("Analyse de risque").Range("B" & Worksheets("Analyse de risque").Rows.Count).End(xlUp).Row
  lr2 = Worksheets("Plan Traitement Risque").Range("B" & Worksheets("Plan Traitement Risque").Rows.Count).End(xlUp).Row
  With ThisWorkbook.Sheets("Plan Traitement Risque")
    For i = 6 To lr1 Step 1
    foundTrue = False
        For j = 6 To lr2 Step 1
        If Sheets("Analyse de risque").Cells(i, 2).Value = Sheets("Plan Traitement Risque").Cells(j, 2).Value Then
        foundTrue = True
        Exit For
    End If

Next j

试试这个。它应该标记只出现在其中一张图纸中的值-现在它使用删除线来标记线。但是仅仅改变宏对单元格的作用对您来说应该很容易。开始录制并在某个文本上设置删除线,您应该很快就能拥有它

    Sub highlight_differences()

lr1 = Worksheets("Analyse de risque").Range("B" & Worksheets("Analyse de risque").Rows.Count).End(xlUp).Row
lr2 = Worksheets("Plan Traitement Risque").Range("B" & Worksheets("Plan Traitement Risque").Rows.Count).End(xlUp).Row

    Worksheets("Plan Traitement Risque").Range("B6:B" & lr2).Font.Strikethrough = True


    For i = 6 To lr1 Step 1
    foundTrue = False
        For j = 6 To lr2 Step 1

            If Sheets("Analyse de risque").Cells(i, 2).Value = Sheets("Plan Traitement Risque").Cells(j, 2).Value Then
                foundTrue = True
                Worksheets("Plan Traitement Risque").Range("B" & j).Font.Strikethrough = False

                Exit For
            End If

        Next j

        If foundTrue = False Then
            Worksheets("Analyse de risque").Range("B" & i).Font.Strikethrough = True

        End If

    Next i

End Sub

谢谢你的回答。它可以工作,但如果我想删除而不是突出显示所有的线。我该怎么做呢。