Привет. В настоящее время я работаю над тренировочным трекером, как показано ниже:
Мне удалось придумать код для обновления статуса (столбец I), если срок действия записи истек или является текущим.
FinalRow = Cells(Rows.Count, 3).End(xlUp).Row
Dim i As Date
Dim Cell As Range
Dim MyCount As Long
Dim Workbook As Workbook
For i = 4 To FinalRow
Diff = DateDiff("d", Now, Cells(i, 8))
If Cells(i, 8) = "" Then
Cells(i, 9) = "Input Review Due Date!"
ElseIf Diff <= 0 Then
Cells(i, 9) = "Expired"
ElseIf Diff = 60 Then
Cells(i, 9) = "2 Months Left"
ElseIf Diff = 30 Then
Cells(i, 9) = "1 Month Left"
Else: Cells(i, 9) = "Current"
End If
Next i
Columns("I:I").Select
With Selection
.HorizontalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End Sub
Теперь для решения проблемы, так как я должен хранить все прошлые и настоящие записи, мне нужно было бы изменить статус прошлых записей с «Истек» на «Восстановлен», в то время как текущие записи остались как «Текущие». '
Я застрял со следующей кодовой последовательностью:
FinalRow = Cells(Rows.Count, 3).End(xlUp).Row
For j = 4 To FinalRow
If Cells(j, 3).Value > 1 Then
Cells(j - 1, 9) = "Renewed"
End If
Next j
End Sub