我在同一工作簿中有两张纸。在每张桌子上,我都有一张桌子。我想编写一个比较2个表的宏,如果第二张表中有更多行,则高亮显示行。我写了几行,但我不知道如何继续循环。
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句