如果它包含部分string,请更改单元格值

我试图通过列“C”中的所有单元格循环,并将值更改为Today() – 4,如果单元格包含“Mon”,因为报表在星期五运行。 我已经将Today()放在单元格“K5”中,因为不知道如何将它合并到我的

For Each cell In Sheets("EMAIL DATA").Range("C:C") If cell.Value = "*Mon*" Then Set cell.Value = ("K5" - 4) End If Next 

谢谢你的帮助。

尝试下面的代码,使用DateAdd函数从今天的date( Date )减去4天。

注意 :没有必要在Cell“K5”中保存今天的date,只需使用Date函数即可。

 For Each cell In Sheets("EMAIL DATA").Range("C:C") If cell.Value Like "*Mon*" Then cell.Value = DateAdd("d", Date, -4) End If Next 

引用您需要使用的单元格K5: Range("K5") 。 或Excel将看到“K5”作为一个litteralstring,并抛出一个错误。

 For Each cell In Sheets("EMAIL DATA").Range("C:C") If cell.Value Like "*Mon*" Then Set cell.Value = (Sheets("EMAIL DATA").Range("K5") - 4) End If Next