excel - 检查当前行单元格日期是否在过去
问题描述
我目前正在尝试访问循环中的大量行以检查 END DATE(在 C 列中)是否在过去。
如果结束日期是过去,我想检查列 M 是否包含字符串“取消”,如果不包含,我想在移动到下一行之前将“取消”写入列 M。
解决方案
可能有几种方法可以解决这个问题,但是这个宏应该查看列中的每个值(如果到达空白单元格,宏就会停止)并检查它是否小于系统日期。如果日期更短,它会将值“取消”分配给同一行 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
推荐阅读
- excel - Excel VBA 循环通过过滤的数据透视项
- azure - 在 CosmosDb 中使用 /id 作为分区键的含义
- android - 是否有 SDK/UXSDK 命令执行类似于 DJI 的 GO 4 的 go to 操作
- c++ - boost::compute,将指针传递给闭包
- c# - 如何使用 C# 套接字发送内存流?
- javascript - 当元素到达 JQuery 中的容器 scrollTop 时如何淡入元素?
- python - setup.py 中的条件要求
- excel - 批量txt到excel使用vba问题分隔
- excel - 将数据从 Outlook 导入 Excel
- git - 如何恢复“git checkout --”以恢复本地更改