如何在单元格数据等于某些值时添加时间戳
我正在寻找一个解决scheme,如何根据一个单元格的值input2个时间戳,而不会在更改时变为空白。
示例:列A有一个“完成”和“待定审计”的下拉列表 – 我想要一个时间戳在第17列出现在同一行,当select待决审计。 一旦从同一行的待审核状态变为完成状态,在第18列中input一个时间戳。这样两个时间戳从待处理到完成创build,并且可以被logging来分析从待处理到完成所花费的时间。
时间戳格式为“M:D:YH:M”
格式化列Q和R来满足您的要求,然后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
因为它是工作表代码,所以安装和自动使用非常简单:
- 右键单击Excel窗口底部附近的选项卡名称
- select查看代码 – 这会popup一个VBE窗口
- 粘贴东西,closuresVBE窗口
如果您有任何疑问,请先在试用工作表上尝试。
如果您保存该工作簿,该macros将与它一起保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除macros:
- 调出上面的VBE窗口
- 清除代码
- 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必须启用这个工作!