如何在单元格数据等于某些值时添加时间戳

我正在寻找一个解决scheme,如何根据一个单元格的值input2个时间戳,而不会在更改时变为空白。

示例:列A有一个“完成”和“待定审计”的下拉列表 – 我想要一个时间戳在第17列出现在同一行,当select待决审计。 一旦从同一行的待审核状态变为完成状态,在第18列中input一个时间戳。这样两个时间戳从待处理到完成创build,并且可以被logging来分析从待处理到完成所花费的时间。

时间戳格式为“M:D:YH:M”

格式化列QR来满足您的要求,然后input这个小的事件macros:

Private Sub Worksheet_Change(ByVal Target As Range) Dim A As Range: Set A = Range("A:A") Dim v As String If Intersect(Target, A) Is Nothing Then Exit Sub Application.EnableEvents = False v = Target.Value If v = "PENDING AUDIT" Then Target.Offset(0, 16) = Now() If v = "COMPLETED" Then Target.Offset(0, 17) = Now() Application.EnableEvents = True End Sub 

因为它是工作表代码,所以安装和自动使用非常简单:

  1. 右键单击Excel窗口底部附近的选项卡名称
  2. select查看代码 – 这会popup一个VBE窗口
  3. 粘贴东西,closuresVBE窗口

如果您有任何疑问,请先在试用工作表上尝试。

如果您保存该工作簿,该macros将与它一起保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除macros:

  1. 调出上面的VBE窗口
  2. 清除代码
  3. closuresVBE窗口

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有关事件macros(工作表代码)的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

macros必须启用这个工作!