在Excel表中实现自动填写日期时间,填写后就不需要自动更新;

如当A2插入数据完成后,B2显示为A2插入数据时的日期时间,B2这一单元的时间是不会自动更新的,也就是说不管过了多久,B2始终显示为A2插入数据时的日期时间。
问题已经解决,在google上找到了,代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1) = Now
End If
End Sub

操作如下:

1、以下表为例,在时间一列填入公式以满足问题条件

2、首先打开菜单栏,点击选项

3、点击公式→计算选项,勾选“启用迭代计算”,“最多迭代次数”填1

4、在E2单元格输入公式“=IF(B2="","",IF(e2="",TEXT(IF(e2>0,NOW(),""),"y:d:h:m"),e2))”,按回车

5、下拉填充公式

6、公式生效,在前面的单元格输入数据,时间列就会显示输入的日期时间

7、前面的数据修改,后面的日期不会再进行自动更新


温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-11

    菜单栏,工具,选项,重新计算,勾选迭代计算,最多迭代次数设为1次。

    然后在E2输入=IF(B2="","",IF(e2="",TEXT(IF(e2>0,NOW(),""),"h:m"),e2))并向下填充。

    这样,只要在b2输入内容,B1就会永远定格显示为你在A1输入内容时的时间。

    无论关闭后再打开,或进行其他操作,该时间都不会变化 。

    注:B列先不要输入任何内容,公式写完后再输入。

第2个回答  2011-12-23
选中单元格,按Ctrl+;即可输入当前日期,以后打开文件时会自己更新。
第3个回答  2011-12-23
在B2单元格中输入"=A2"即可,就会自动随A2更新
第4个回答  推荐于2017-09-15
使用工作表内容改变事件触发宏:
Private Sub Worksheet_Change(ByVal Target As Range)
if target.row=2 and target.column=1 then [b2]=now
End Sub追问

如果我想设置为A列插入数据后,B列对应行都显示A列插入数据的日期时间,该怎么修改一下这个宏?谢谢!

本回答被提问者采纳
相似回答