欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

自动记录数据录入时间不懂得VBA的朋友可以看看

程序员文章站 2022-03-14 15:21:08
在日常工作中,经常会遇到需要实时记录数据录入的时间问题。 有朋友会说了,用快捷键啊,按Ctrl+;(分号)可以返回当前的系统日期,按Ctrl+Shift+;(分号...

在日常工作中,经常会遇到需要实时记录数据录入的时间问题。

有朋友会说了,用快捷键啊,按Ctrl+;(分号)可以返回当前的系统日期,按Ctrl+Shift+;(分号)可以返回当前的系统时间。

但是如果需要同时返回日期和时间又该怎么处理呢?

对于懂得VBA的朋友,这个问题当然不在话下,但相对于V盲的表亲来说,处理这个问题就有点棘手了。

以下图为例,在A列单元格输入或是修改内容后,B列就会自动的显示出数据录入、更改时的时间。

自动记录数据录入时间不懂得VBA的朋友可以看看

接下来,咱们就一起学习一下如何实现这样的目的。

B2单元格输入以下公式,向下复制。

=IF(A2="","",IF(A2=CELL("contents"),NOW(),B2))

先简单说一下公式的意思。

NOW()函数返回日期时间格式的当前日期和时间。

先用IF函数判断A2是否为空值,如果A2是空值返回空文本"",否则执行下一段公式:

IF(A2=CELL("contents"),NOW(),B2)

公式中CELL("contents")部分,可以获取最后编辑的单元格内容。

再用IF函数判断,如果A2等于最后编辑的单元格内容,公式返回当前的系统日期时间,否则仍然等于B2原有的值不变。

输入公式后,如果马上在A2单元格输入内容,会弹出循环引用的警告:

自动记录数据录入时间不懂得VBA的朋友可以看看

先关闭警告对话框。

然后依次单击【文件】→【选项】,在【Excel选项】对话框里单击【公式】选项卡,勾选“启用迭代计算”。

自动记录数据录入时间不懂得VBA的朋友可以看看

设置完毕,只要在A列输入内容或是对已有的数据进行更改,B列就会记录下数据录入时的时间。

自动记录数据录入时间不懂得VBA的朋友可以看看

如果您的工作表中显示的是类似41672.55这样的怪怪的数字,记得设置一下单元格格式。

按Ctrl+1,在弹出的【设置单元格格式】对话框中单击【自定义】选项,在类型文本框中输入以下格式代码:

yyyy-m-d h:mm:ss

如果A列录入的数据有重复,使用以上公式就会出现问题了,想一想应该怎么处理呢