【问题标题】:How to add a timestamp when a cell data is equal to certain values当单元格数据等于某些值时如何添加时间戳
【发布时间】:2016-05-04 16:19:46
【问题描述】:

我正在寻找一种解决方案,了解如何根据一个单元格的值输入 2 个时间戳,而其中一个在更改时不会变为空白。

示例:列A有一个下拉列表,用于“已完成”和“待处理审核” - 我希望在选择待审计时,我希望在第17列中出现的时间戳。一旦同一行的待审核更改为已完成,请在第 18 列中输入时间戳。这样会创建从待处理到完成的两个时间戳,并且可以记录下来以分析从待处理到完成所花费的时间。

时间戳格式为“M:D:Y H:M”

【问题讨论】:

  • 您好,能否请您发布您目前尝试过的内容?

标签: excel timestamp vba


【解决方案1】:

格式化列QR以满足您的要求,然后输入这个小事件宏:

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. 选择查看代码 - 这将打开一个 VBE 窗口
  3. 粘贴内容并关闭 VBE 窗口

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

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

要删除宏:

  1. 如上所示打开 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

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

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

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

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

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

必须启用宏才能使其工作!

【讨论】:

  • 这非常有效。太感谢了。如果在我发布问题之前它是空白的,我最初得到它来抵消它,并且不确定如何继续执行两个不同的值。你的代码是正确的!再次感谢!
猜你喜欢
  • 1970-01-01
  • 2020-01-30
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多