Проблема заключается в том, что он удаляет значения из обеих строк, где возникает разница. Он должен удалять значения только из верхней строки, где возникает разница.
Поэтому я попытался заменить 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
КЛЮЧ:
Красный = где разница между двумя датами <2 дня </p>
Желтый = где значение ячейки должно быть пустым
Синий = значение должно быть пустым Синий = где ячейки не должны быть удалены