Excel现在()不应该更新现有的时间戳

我有一个excel公式=IF(NOT(ISBLANK(A2)), TEXT(NOW(), "mm/dd/yyyy HH:ss"),"")

我的问题是:当然,每次我打开这张表,它都会更新与最近时间戳有关的单元格值。 如果它已经存在,我不希望这个时间戳发生改变。

我想要的是:如果A2不是空白,最近没有更新,那么不更新时间戳其他更新。

我正在寻找一个内联函数,如果可能的话。

谢谢

你可以用VBAmacros来做到这一点:

  1. 打开VBA编辑器(工具>macros> Visual Basic编辑器)
  2. 在左侧,右键单击Sheet1并select查看代码
  3. 将以下内容复制到编辑器中:

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Row = 2 Then If Target.Value = "" Then Cells(2, 2).Value = "" Else Cells(2, 2).Value = Format(Now, "mm/dd/yyyy HH:mm:ss") End If End If End Sub 

如果你在单元格A2中写入一些东西,那么时间戳将被写入到单元格B2中,而当你删除A2时,B2也将被删除。 时间戳不会自动更新。

如果编辑了(A2:C2或E3:F4)中的任何一个单元格,我想你想在一个单元格范围内logging编辑时间(比如A9:C20和D11:E12)。

你可以这样做:

右键单击工作表选项卡并select“查看代码”并粘贴以下代码:

 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("A2:C2,E3:F4")) Is Nothing Then Exit Sub Range("A9:C20,D11:E12").Value = Now() Range("A9:C20,D11:E12").NumberFormat = "mm/dd/yyyy hh:mm:ss" End Sub 

除非再次编辑(A2:C2或E3:F4)中的任何一个,否则时间戳将不会自动更新。

只需将默认迭代更改为1 ,以便在停止之前重新计算一次。

转到此处:

  1. 办公室button
  2. Excel选项
  3. 公式
  4. 迭代

文件>选项>公式>检查手动计算>取消选中“保存前重新计算工作簿”。 如果需要也检查启用迭代,并设置最大迭代为1,如上所述。