Макрос Excel для сравнения двух дат, если два столбца содержат определенный текст в одной строке - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь написать макрос Excel, который делает;1. Проверьте столбец A на предмет определенного значения. 2. Если столбец A имеет определенное значение (текст), чем найдите в столбце B другое текстовое значение в той же строке.3. Если столбец B также имеет то, что мы ищем, то сравните даты в столбцах C и D для этих конкретных строк.(Столбцы A и B содержат определенный текст в одной строке)

В основном макрос будет искать все строки листа.Если два столбца имеют то, что мы ищем, и если это происходит в одной строке, то сравните две даты.

`If (COLA = val1) & (COLB = valb) Then;
     If COLC < COLD Then;
       Color the row to Red
     Else if COLC >= COLD Then;
       Color the row to Green
     Else
       Color the row to Yellow
     End If
Else 
     Color the row to Brown
End If`

| COLA | COLB |COLC |ХОЛОДНЫЙ || val1 | vala | 11.12.2018 | 20.12.2018 || val1 | valb | 10.10.2018 | 20.12.2018 || val2 | vala | 01.01.2019 | 15.02.2019 || val3 | valc | 24.02.2019 | 11.02.2019 || val2 | vald | 30.12.2018 | 20.12.2018 |

Пример таблицы

Screen Shot

1 Ответ

0 голосов
/ 11 декабря 2018
Sub valsAndDates()
    With Worksheets("sheet5").Range("A:D")
        .FormatConditions.Delete
        With .FormatConditions.Add(Type:=xlExpression, _
          Formula1:="=and($a1=""vala"", $b1=""vala"", $c1<$d1, $c1<>text(,))")
            .Interior.Color = vbRed
        End With
        With .FormatConditions.Add(Type:=xlExpression, _
          Formula1:="=and($a1=""vala"", $b1=""vala"", $c1>=$d1, $c1<>text(,))")
            .Interior.Color = vbGreen
        End With
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...