检查当前行单元格日期是否过去

时间:2019-05-28 15:14:18

标签: excel vba

我目前正在尝试循环访问许多行,以检查END DATE(在C列中)是否过去了。

如果END DATE是过去的日期,我想检查M列是否包含字符串“ Cancel”,如果不是,那么我想在移至下一行之前将“ cancel”写入M列。

1 个答案:

答案 0 :(得分:0)

可能有几种解决方法,但是此宏应查看列中的每个值(如果宏到达空白单元格,宏将停止),并检查它是否小于系统日期。如果日期较短,则会为同一行的M列中的单元格分配值“取消”。

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