Несколько операторов If и выделение, если нет, если операторы if совпадают - PullRequest
0 голосов
/ 07 января 2019

У меня есть несколько операторов, которые должны быть сделаны одновременно, иначе большая часть таблицы будет выделена. Есть 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...