Я создал макрос, который выделяет строку, если значение в ячейке на одном листе не существует на другом листе, а затем удаляет строку, если значение существует в обоих местах. Но по какой-то причине он не удаляет все необходимые строки при первом проходе.
Если я продолжу запускать макрос, он в конечном итоге удалит все строки, которые я хочу удалить, но почему он не делает это во время первого прохода?
Sub ActivityRegNonMembers()
Dim lastRow As Integer
Dim rng As Range
lastRow = Sheets("Program Participants").Range("A1").SpecialCells(xlCellTypeLastCell).Row
Application.ScreenUpdating = False
For i = 1 To lastRow
Set rng = Sheets("Current Members").Range("C:C").Find(Sheets("Program Participants").Cells(i, 18))
If rng Is Nothing Then
Sheets("Program Participants").Cells(i, 18).EntireRow.Interior.Color = vbYellow
End If
If Not rng Is Nothing Then
Sheets("Program Participants").Rows(i).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub
Любая помощь будет оценена.