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


11

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

每行都有一个时间戳。我想在该行中的前述单元之一更新后立即对其进行更新。

您对此有任何建议吗?



@Raystafarian:我们有圆形骗子在继续。这是较老的问题。如果两者都关闭,我们将锁定所有新答案。
fixer1234 2015年

Answers:


9

创建一个值为Now()的单元格。按照您想要的格式进行格式化-像yyyy / mm / dd HH:mm:ss一样在24小时内显示完整的时间戳。

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

经过进一步的思考,如果您希望使用硬编码的时间戳记,并且仅通过不包括打开工作簿,打印等操作的动作来进行更新,则可以创建附加到worksheet_change的宏。将目标单元格设置为文本,并使用与以前一样的特定格式。在Worksheet_Change事件上使用类似:Sheet1.Cells []。Value = Text(Now(),“ yyyy / mm / dd HH:mm:ss”)的方法。

如果将其放入启动时加载的模板中,则无需再考虑它。


+1喜欢第二个答案,而不是第一个答案。
DaveParillo

我已经更新了问题,以更好地反映需求:每行都有一个时间戳。我想在该行中的前述单元之一更新后立即对其进行更新。因此,我认为正如您所提到的,这里需要一个宏。我将以这种方式进行搜索。谢谢。

应该注意的是,将代码放入Worksheet_Change()事件将导致Excel每次执行时清除撤消堆栈。因此,如果您要更新工作表上其他位置的值,则此解决方案实际上会禁用此工作表的撤消操作,这是副作用。
Ross McConeghy

8

http://chandoo.org/wp/2009/01/08/timestamps-excel-formula-help/包含有关如何使用递归公式实现时间戳的详细信息。他们请客。

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

如果包含时间戳的单元格为B3,要监视的单元格为C3,则公式为:

=IF(C3<>"",IF(B3="",NOW(),B3),"")

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.