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

我在同一个工作簿中有两张纸。 在每一个,我有一张桌子。 我想写一个macros,比较两个表,然后突出显示行,如果在第二张表中有更多的行。 我写了一些行,但我不知道如何继续循环。

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 

尝试这个。 它应该标记仅存在于其中一个表格中的值 – 现在它使用删除线标记行。 但是只要改变macros对单元格的操作应该对你来说很容易。 开始录制并在一些文本上设置删除线,你应该立即拥有它。

  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