gpt4 book ai didi

VBA insert if - 根据日期更改单元格填充

转载 作者:行者123 更新时间:2023-12-03 02:59:50 26 4
gpt4 key购买 nike

尝试在 VBA 中插入以下 if 公式;

在我的 K 列中,我想要三个条件:

  • 日期是今天或更早(即项目今天或更早到期)= 红色
  • 日期是今天 + 最多 7 天 = 琥珀色
  • 日期是今天,少于 7 天 = 绿色

我正在考虑使用以下内容:

Sub ChangeColor()
lRow = Range("K" & Rows.Count).End(xlUp).Row
Set MR = Range("K3:K" & lRow)
For Each cell In MR
If cell.Value = "TODAY" Then cell.Interior.ColorIndex = 10
If cell.Value = "TODAY-7days" Then cell.Interior.ColorIndex = 9
If cell.Value = "Morethan7Days" Then cell.Interior.ColorIndex = 8
Next
End Sub

我一直在尝试,但我不知道该怎么做。

我认为我的方法是正确的,但我不确定如何编写 If date=-7days then 等等。

有人可以提供一些指导吗? :)

最佳答案

VBA 有一个日期函数,可以返回今天的日期。 VBA 中的日期是自 1900 年 12 月 31 日以来的天数(通常存在闰年错误),因此您可以对 Date 减去或添加整数来获取过去和 future 的日子。

Sub ChangeColor()

Dim rCell As Range

With Sheet1
For Each rCell In .Range("K3", .Cells(.Rows.Count, 11).End(xlUp)).Cells
If rCell.Value <= Date Then
rCell.Interior.Color = vbRed
ElseIf rCell.Value <= Date + 7 Then
rCell.Interior.Color = vbYellow
Else
rCell.Interior.Color = vbGreen
End If
Next rCell
End With

End Sub

关于VBA insert if - 根据日期更改单元格填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11525252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com