这是一个被问过很多次的问题,输入当前时间后,如何锁定时间,让它不再变化?
时间函数大家应该不陌生,就是 now 函数,它是动态的,始终显示的当前时间。
如果要锁定,不得不让人考虑用 vba。但 vba 的掌握门槛较高,很多同学询问有没有不编程就能实现的方法?
经研究,的确有,只是一般人想不到而已。
案例:在下图 1 的 C 列中输入销量,并且要求在 D 列自动生成输入的时间,且锁定!注意,重点是时间一经输入就锁定。
效果如下图 2 所示。
解决方案:直接输入 now 函数肯定是不能实现需求的,那么我们试试引用时间能否曲线救国。
默认的 now 函数会显示日期和时间,如果不需要日期,我们可以先设置一下格式。
1. 选中 D 列 --> 按 Ctrl+1
2. 在弹出的对话框中选择“数字”选项卡 --> 选择“时间”及所需的时间类型 --> 点击“确定”按钮
3. 选中 F 列 --> 按同样方式设置成时间格式
4. 在 F2 单元格中输入 =NOW()
5. 在 D2 单元格中输入 =F2
但是,无论在哪个单元格中写公式,所有时间都会自动随着 now 函数实时变化。
失败。
以下是正解。
1. 选中 D2:D10 区域 --> 选择菜单栏的“数据”-->“数据验证”-->“数据验证”
2. 在弹出的对话框中选择“设置”选项卡 --> 按以下方式设置 --> 点击“确定”:
允许:选中“序列”
来源:选择 $F$2 单元格
现在妥了。肉眼可见,F2 的时间仍在不断流逝,但是 D 列的时间则锁住不动了。