我有一个单元格,我想记录左边相邻单元格的更改时间。我用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
我对此代码的问题是它正在查找单元格中的任何数据。我只希望单元格记录它包含"感兴趣的时间"或者"不感兴趣"。我正在查看的单元格当前包含"正在进行中"。我尝试过使用我的代码来尝试合并这些标准,但我一直遇到错误。关于我能做些什么来解决这个问题的任何建议?提前谢谢。
答案 0 :(得分:1)
请尝试使用以下代码:
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
答案 1 :(得分:0)
另一种方法是使用as = TimeChanged(H11)
的简单UDFOption 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