2017-02-21 44 views
0

我想通过列“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 

感谢您的帮助。

回答

1

尝试下面的代码,使用DateAdd功能,从。减去今天的日期(Date)4天。

注意:没有必要在Cell“K5”中保存今天的日期,只需使用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 
+0

谢谢谢。完美的作品 –

0

引用您需要使用的Cell K5:Range("K5")。或者Excel会将“K5”看作是一个字符串,并发出错误。

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 
+0

嗨,斯科特,谢谢你的回应,但是当使用上面的时候,包含“星期一10:31”的单元格不会改变。任何想法为什么? –

+0

@RobBlagg对不起,请参阅编辑。 –

+0

谢谢斯科特。这样可行。 –

相关问题