VBA Удалить значения, когда разница между датами срабатывает - PullRequest
0 голосов
/ 31 марта 2020

Проблема заключается в том, что он удаляет значения из обеих строк, где возникает разница. Он должен удалять значения только из верхней строки, где возникает разница.

Поэтому я попытался заменить ws.Cells(RowNo, 3) = " " на ws.Cells(FirstDate, 1) = " ", но ничего не сделал.

Любая помощь будет очень оценили. Спасибо!

Ниже приведен код:

Sub CalculateDate()
Dim Result, RowNo As Long
Dim FirstDate, SecondDate As Date
Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets(1)

RowNo = 2

    Do Until ws.Cells(RowNo + 1, 2) = ""

    FirstDate = ws.Cells(RowNo, 2)
    SecondDate = ws.Cells(RowNo + 1, 2)

        If DateDiff("d", FirstDate, SecondDate) < 2 Then
        ws.Cells(RowNo, 3) = " "
        End If

    RowNo = RowNo + 1

    Loop

End Sub

enter image description here

КЛЮЧ:

Красный = где разница между двумя датами <2 дня </p>

Желтый = где значение ячейки должно быть пустым

Синий = значение должно быть пустым Синий = где ячейки не должны быть удалены

1 Ответ

1 голос
/ 31 марта 2020

возможно, вам придется изменить

    If DateDiff("d", FirstDate, SecondDate) < 2 Then
        ws.Cells(RowNo, 3) = " "
    End If

на

    If DateDiff("d", FirstDate, SecondDate) < 2 Then
        ws.Cells(RowNo, 3).ClearContents
        RowNo = RowNo + 1
    End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...