更改另一个单元格时,使用当前时间戳自动更新 Excel 中的单元格

11 microsoft-excel-2007 microsoft-excel

在 Excel 电子表格中,我想在更改另一个单元格(如更新时间戳)时自动使用当前日期和时间更新单元格。

每行都有一个时间戳。我想在更新行中前面的单元格之一后立即更新它们。

你有关于如何做到这一点的任何指示吗?

wbo*_*acz 9

创建一个值为 Now() 的单元格。以您想要的方式对其进行格式化 - 例如 yyyy/mm/dd HH:mm:ss 表示 24 小时内的完整时间戳。

现在,只要设置了自动重新计算(默认值),任何时候更改另一个单元格,您都会获得一个新的时间戳。

经过进一步思考,如果您需要一个硬编码的时间戳,该时间戳仅由不包括打开工作簿、打印等内容的操作更新,您可以创建一个附加到 worksheet_change 的宏。将目标单元格设置为文本,具有与以前一样的特定格式。在 Worksheet_Change 事件上使用类似: Sheet1.Cells[].Value = Text(Now(), "yyyy/mm/dd HH:mm:ss") 的内容。

如果您将其放入启动时加载的模板中,您将永远不必再考虑它。


小智 9

http://chandoo.org/wp/2009/01/08/timestamps-excel-formula-help/详细介绍了如何使用递归公式实现时间戳。他们工作是一种享受。

本文概述了如何首先打开循环公式(默认情况下关闭),然后如何创建一个循环公式,该公式在特定单元格插入值时自动插入时间戳。

如果包含时间戳的单元格是 B3 而要观察的单元格是 C3,则公式为:

=IF(C3<>"",IF(B3="",NOW(),B3),"")
Run Code Online (Sandbox Code Playgroud)

也就是说,当 C3 不为空时,将 B3 设置为 NOW()(如果 B3 为空),否则为 B3 的当前值。

这在更新和保存时看起来很稳定。