Я пытаюсь сравнить два листа. Структура листа абсолютно одинакова -> Ячейка AD4 в Sheet1 должна быть такой же, как AD4 в Sheet2, если нет, то выделите ячейку AD4. Это должно быть сделано, поскольку данные существуют.
Приведенный ниже код не работает, но не выводит сообщение об ошибке.
Sub CompareAndHighlightDifferences()
Dim w1 As Worksheet, w2 As Worksheet
Dim c As Range, a As Range
Set w1 = Sheets("2019 Project Detail")
Set w2 = Sheets("2019 Project Detail SOURCE")
With w1
For Each c In .Range("AD4", .Range("AD" & Rows.Count).End(xlUp))
Set a = w2.Columns(30).Find(c.Value, LookAt:=xlWhole)
If Not a Is Nothing Then
If .Cells(c.Row, c.Column).Value <> w2.Cells(a.Row, a.Column) Then
.Cells(c.Row, c.Column).Font.Color = vbRed
End If
End If
Next c
End With
End Sub
Могу ли я попросить вас дать какие-нибудь советы, пожалуйста?
Большое спасибо!
--------------------- EDIT ----------------------
Sub CompareAndHighlightDifferences()
Dim w1 As Worksheet, w2 As Worksheet
Dim c As Range
Set w1 = Sheets("2019 Project Detail")
Set w2 = Sheets("2019 Project Detail SOURCE")
For Each c In w1.Range("AD4", w1.Range("AD" & Rows.Count).End(xlUp))
If w1.Cells(c.Row, c.Column).Value = w2.Cells(c.Row, c.Column).Value Then
w1.Cells(c.Row, c.Column).Interior.Color = vbRed
End If
Next c
End Sub