停止NOW()function从自动更新

我有一个单元,我想logging左边相邻单元格更改的时间。 我用NOW()函数来做。 但是,问题是每次重新计算工作簿时都会更新。 所以,我想知道是否有任何原始的方式来防止这个非常自动更新的单元格。

我在电池中的当前公式:

= IF(ISBLANK(H11),“”,IF(H11 =“感兴趣”,NOW(),IF(H11 =“不感兴趣”,NOW(),“”)))

我个人已经想出了这个:

Private Sub Worksheet_Change(ByVal Target As Range) Dim Destination As Range If Not Intersect(Target, Range("H:H")) Is Nothing Then Target.Offset(0, 1).Value = Now End If End Sub 

我对这个代码的问题是,它正在寻找单元格中的任何数据。 我只希望细胞logging包含“感兴趣”或“不感兴趣”的时间。 我正在查看的单元格当前包含“正在进行”。 我试着玩我的代码,尝试并纳入这些标准,但我一直打错误。 任何build议,我可以做什么来解决这个问题? 提前致谢。

试试下面的代码:

 Private Sub Worksheet_Change(ByVal Target As Range) Dim Destination As Range If Not Intersect(Target, Range("H:H")) Is Nothing Then If LCase(Trim(Target.Value2)) = "not interested" Or LCase(Trim(Target.Value)) = "interested" Then Application.EnableEvents = False Target.Offset(0, 1).Value = Now Application.EnableEvents = True End If End If End Sub 

在这里输入图像说明

另一种方法是使用as = TimeChanged(H11)的简单UDF

 Option Explicit Option Compare Text Public Function TimeChanged(theCell As Variant) If TypeOf theCell Is Range Then theCell = theCell.Value2 If theCell = "Interested" Or theCell = "Not Interested" Then TimeChanged = Now Else TimeChanged = "" End If End Function