我目前正在尝试循环访问许多行,以检查END DATE(在C列中)是否过去了。
如果END DATE是过去的日期,我想检查M列是否包含字符串“ Cancel”,如果不是,那么我想在移至下一行之前将“ cancel”写入M列。
答案 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