求助,excel 怎样能使输入数据的时间自动显示出来?

来源:百度知道 编辑:UC知道 时间:2024/06/10 14:49:02
IF(ISBLANK(Bx),"",IF(Ay="",NOW(),Ay))这个函数的问题是,先前显示的时间会变成下一次输入数据的时间。就是说,怎么能保留住每次输入数据的时间。谢谢!

用VBA比较方便

按 ALT+F11 启动 VB编辑器

在左边靠上的工程资源管理器里面双击你的工作表名字,然后在右边的代码窗口贴入下面的代码

'代码开始
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Range("a" & Target.Row).Value = "" Then
Range("a" & Target.Row) = Now
End If
End Sub
'代码结束

说明:
Target.Column = 2 中的 2 等于是第二列的意思(相当于Bx中的B)

Range("a" & Target.Row) 中的 "A" 代表A列; target.row 表示当前激活的单元格的行号,假如输入的数据和记录时间的单元格不在同一行,可以进行修改(目前暂按同一行处理)

这里有示范例子:
http://www.win-club.net/ray/time.xls

TODAY()和NOW()都是随着系统日期、时间而改变的,如果要将其固定,唯一的办法是在输入数据后用“复制”->“选择性粘贴/数值”来固定其值。