Вероятно, есть несколько способов сделать это, но этот макрос должен посмотреть на каждое значение в столбце (макрос останавливается, если он достигает пустой ячейки) и проверяет, меньше ли оно системной даты. Если дата меньше, она присваивает значение «Отмена» ячейке в столбце М. в той же строке.
Sub checkDate()
Dim x As Integer
x = 1 'Starts on row one.
With ThisWorkbook.Worksheets("Sheet1")
Do While .Range("C" & x).Value <> "" 'Checks each row in Column C until it reaches an empty row. Could be replaced with a For statement.
If .Range("C" & x).Value < Date Then
.Range("M" & x).Value = "Cancel"
End If
x = x + 1
Loop
End With
End Sub