如何用excel公式记录某个单元格输入内容的时间?

来源:百度知道 编辑:UC知道 时间:2024/09/23 00:40:49
我单位用扫描枪扫描条码,并且想对每一个条码被扫描的时间做记录,请问公式该如何编写?有没有其他方法可以实现?
(注:扫描条码可以在某一列自动输入并换行。)

例如 B1 单元格想记录 A1 单元格输入时间时,我只能想出 =IF(COUNTBLANK(A1)," ",NOW()) 可是设置为自动计算时每次都是系统最新时间,设置为手动计算时就是不会记录(即A1输入了但是B1还是为空)。
打开EXCEL,在sheet1标签中右键,选择 查看代码,输入以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 1 Or Target.Column = 6 Then

Target.Offset(0, 1) = Now

Target.Offset(0, 2) = Date
Target.Offset(0, 3) = Time

End If

End Sub

这样的结果是:
在A列或F列输入任意值,将于B列或G列中显示出输入的日期及时间,于C列或H列中显示出输入的日期,于D列或I列显示出输入的时间

可自行更改Column = 1 Or Target.Column = 6表示第一列A列,或第6列F列
Target.Offset(0, 1) = Now Target.Offset(0, 2) = Date Target.Offset(0, 3) = Time
表示输入列后1列显示当前日期时间(Now),后2列显示当前日期(Date),后3列显示当前时间(Time)

这个只能用VBA代码,在当前表的Private Sub Worksheet_Change(ByVal Target As Range)事件中,自动加入当前时间。
当该表格某单元格内容发生改变时,触发此事件。
但难点是如何判断A列的哪个单元格被输入了数据。

你的代码不是可以达到你的要求吗,为什么还要提问呢,用公式也是可以的.