У меня есть несколько операторов, которые должны быть сделаны одновременно, иначе большая часть таблицы будет выделена. Есть 5 столбцов, которые содержат информацию и номера счетов, которые должны совпадать, а даты обслуживания должны быть больше или равны дате запроса. Приведенный мною код выделяет всю электронную таблицу (даты преобразуются в целые числа в общем формате и будут преобразованы обратно в даты после расчета, поскольку я заметил, что vba сложнее с датами) Я не могу опубликовать рабочую книгу, поскольку информация чувствительный, но я мог бы сделать образец рабочей книги, если она нужна.
Sub check_for_copies()
Dim i As Long
Dim j As Long
For j = 2 To 1000
For i = 2 To 10000
If Sheets("C").Cells(j, 7).Value <= Sheets("B").Cells(i, 12).Value And Sheets("C").Cells(j, 1).Value = Sheets("B").Cells(i, 1).Value And Sheets("C").Cells(j, 8).Value = Sheets("B").Cells(i, 16).Value Then
'do nothing
ElseIf Sheets("C").Cells(j, 7).Value <= Sheets("B").Cells(i, 12).Value And Sheets("C").Cells(j, 1).Value = Sheets("B").Cells(i, 1).Value And Sheets("C").Cells(j, 9).Value = Sheets("B").Cells(i, 16).Value Then
'do nothing
ElseIf Sheets("C").Cells(j, 7).Value <= Sheets("B").Cells(i, 12).Value And Sheets("C").Cells(j, 1).Value = Sheets("B").Cells(i, 1).Value And Sheets("C").Cells(j, 10).Value = Sheets("B").Cells(i, 16).Value Then
'do nothing
ElseIf Sheets("C").Cells(j, 7).Value <= Sheets("B").Cells(i, 12).Value And Sheets("C").Cells(j, 1).Value = Sheets("B").Cells(i, 1).Value And Sheets("C").Cells(j, 11).Value = Sheets("B").Cells(i, 16).Value Then
'do nothing
ElseIf Sheets("C").Cells(j, 7).Value <= Sheets("B").Cells(i, 12).Value And Sheets("C").Cells(j, 1).Value = Sheets("B").Cells(i, 1).Value And Sheets("C").Cells(j, 12).Value = Sheets("B").Cells(i, 16).Value Then
'do nothing
Else
Sheets("C").Rows(j).Interior.ColorIndex = 3
End If
Next
Next
End Sub